public final class EasyHttp { private static int TIMEOUT = 10000; // post请求 public static String post(String url, Map<String, String> paramMap) { HttpURLConnection conn = null; String resultStr = null; try { URL urlA = new URL(url); conn = (HttpURLConnection) urlA.openConnection(); conn.setConnectTimeout(TIMEOUT);// 连接超时 单位毫秒 conn.setReadTimeout(TIMEOUT);// 读取超时 单位毫秒 // 设置是否向connection输出,因为这个是post请求,参数要放在 http正文内,因此需要设为true conn.setDoOutput(true); // Read from the connection. Default is true. conn.setDoInput(true); // Set the post method. Default is GET conn.setRequestMethod("POST"); // Post 请求不能使用缓存 conn.setUseCaches(false); // 配置本次连接的Content-type,配置为application/x-www-form-urlencoded的 conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); String paramStr = mapToString(paramMap); byte[] bypes = paramStr.getBytes("UTF-8"); conn.connect(); OutputStream out = conn.getOutputStream(); out.write(bypes);// 输入参数 out.flush(); out.close(); resultStr = returnFromUrl(conn); } catch (Exception e) { e.printStackTrace(); } finally { conn.disconnect(); } return resultStr; } // get请求 public static String get(String url, Map<String, String> paramMap) { HttpURLConnection conn = null; String resultStr = null; try { if (Assert.isNotEmptyMap(paramMap)) { String paramStr = mapToString(paramMap); // 如果不包含? if (!url.contains("?")) { url = url + "?"; } // 如果结尾不是&? char lastChar = url.charAt(url.length() - 1); if ('&' != lastChar && '?' != lastChar) { paramStr = "&" + paramStr; } url = url + paramStr; } URL urlA = new URL(url); conn = (HttpURLConnection) urlA.openConnection(); conn.setConnectTimeout(TIMEOUT);// 连接超时 单位毫秒 conn.setReadTimeout(TIMEOUT);// 读取超时 单位毫秒 conn.setDoOutput(true); conn.setDoInput(true); conn.setRequestMethod("GET"); conn.setUseCaches(false); //conn.setRequestProperty("User-Agent", ""); resultStr = returnFromUrl(conn); } catch (Exception e) { e.printStackTrace(); } finally { conn.disconnect(); } return resultStr; } // 从url连接中取得返回值 public static String returnFromUrl(HttpURLConnection conn) { String result = null; BufferedReader reader = null; try { // 取得输入流,并使用Reader读取 reader = new BufferedReader(new InputStreamReader( conn.getInputStream())); StringBuffer buff = new StringBuffer(); String oneLine = null; while ((oneLine = reader.readLine()) != null) { buff.append(oneLine); } result = buff.toString(); } catch (Exception e) { e.printStackTrace(); } finally { try { reader.close(); } catch (Exception e) { e.printStackTrace(); } } return result; } // 将参数转为字符串 public static String mapToString(Map<String, String> map) { if (Assert.isEmptyMap(map)) { return ""; } Set<String> set = map.keySet(); StringBuffer buf = new StringBuffer(); for (String key : set) { String value = map.get(key); if (null != value) { String valueEn = null; try { valueEn = URLEncoder.encode(value, "UTF-8"); } catch (Exception e) { e.printStackTrace(); } buf.append(key).append("=").append(valueEn).append("&"); } } buf.deleteCharAt(buf.length() - 1); return buf.toString(); } private EasyHttp() { }
相关推荐
java网络请求工具类 HttpURLConnection post请求工具类HttpURLConnection httpURLConnection = (HttpURLConnection) url .openConnection(); httpURLConnection.setRequestMethod("POST");// 提交模式
Java发送http请求、https请求,post和get都支持
Https请求工具类,Java实现http请求,https请求
JAVA http请求工具类
Java Http 工具类,和Https工具类,自动识别Https走SSL协议
java模拟网络请求,get post put delete四种模式,请求头处理参数处理。此文件仅供大家参考,稍作修改即可。
java中ping命令ping工具类(循环ping) java ping ip ping命令 ping工具类 支持linux和windows等所有平台 Ping是Windows下的一个命令 在Unix和Linux下也有这个命令。 ping也属于一个通信协议,是TCP/IP协议的一部分 ...
3:通过公有方法进行网络请求,示例如下: >文本请求: >解析后的文本请求: HttpRequest.reqquest(int,String,Parse,Class){....}; >原生string文本请求: HttpRequest.getString(String,AqsString){...} >单张图片...
可用于中转tcp请求,java源码 已放入,简单入门
通过该工具类可以获得请求的IP地址,适用于后台管理系统的信息统计。
内容概要:要工具类将接口请求解析以获取请求的IP地址信息。内含Ip2regionSearcher工具类的使用方式,可以通过使用Ip2regionSearcher将获取到的IP地址信息,进一步解析得到IP属地信息。 适应人群:有需要获取请求IP...
VisualVM是一个java应用程序性能分析和运行监控工具,可以监控、分析线程信息,其默认监视内存和CPU,常用于监测、控制java应用程序横跨整个网络的情况。 2.YourKit YourKit是一个java性能分析工具,使用YourKit...
向指定URL发送GET方法的请求 获取网络图片返回byte数组 向指定 URL 发送POST方法的请求 向指定URL发送POST方法的请求(application/json格式发送数据) 向指定URL发送POST方法的请求(application/xml格式发送数据)...
获取本地IP地址,获取本地Host名称,获取Linux下的IP地址,获取用户真实IP地址,get/post请求 相应的工具类
HttpClient发送http请求(post+get)需要的jar包+内符java代码案例+注解详解(这款工具类是我精心挑选适合广大java程序猿使用)
对日历,时间,下载excel,网络请求,流,数据,数值,xml,web工具类
一个基于JavaFX图形框架构建的简易Http请求工具,目前实现了GET, POST, PUT, DELETE四种Http请求方式 注意事项 当表中没有数据行可以输入时,点击表格可以添加一行空数据 GET, DELETE请求不支持发送请求体以及上传...
Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...
一个处理网络请求的开源项目,是安卓端最火热的轻量级框架,由移动支付Square公司贡献(该公司还贡献了Picasso)[2] 用于替代HttpUrlConnection和Apache HttpClient(android API23 6.0里已移除HttpClient,现在已经打不...
对于网络请求这种底层相对复杂的操作,个人以为如果有可用的其他方案,也没有必要自己去管理连接对象。 除了HttpURLConnection,大家肯定还知道HttpClient。一般情况下,普通使用HttpClient已经能满足我们的需求,...