JAVA http请求工具类http-request
2017-07-19 12:35
489 查看
前言
在我们日常工作中,我们需要经常和第三方接口进行交互通信,很多时候我们都是使用http协议进行交互,java原生自带对http的支持(java.net.*),但是使用起来不太方便,除此之外,用的最多的就是apache httpclient工具包。但是个人使用这么久而言,感觉不管是原生的抑或是httpclient,使用起来都不太顺手,也略显复杂在此推荐一个简单易用的类库http-request
github地址:https://github.com/kevinsawicki/http-request
maven引入
<dependency> <groupId>com.github.kevinsawicki</groupId> <artifactId>http-request</artifactId> <version>5.6</version> </dependency>
例子
发送一个Get请求获取响应报文
String response = HttpRequest.get("http://www.baidu.com").body(); System.out.println("Response was: "+response);
发送一个带查询参数的Get请求获取响应报文
写法1: HttpRequest request = HttpRequest.get("http://www.baidu.com",true,'q',"baseball gloves","size",100); System.out.println(request.toString());// GET http://www.baidu.com?q=baseball%20gloves&size=100 写法2: Map data = new HashMap(); data.put("q", "baseball gloves"); data.put("size", "100"); String resp =HttpRequest.get("http://www.baidu.com")form(data).body(); System.out.println("---------------response parameter:" + resp); 同理,发送Post请求只需把get方法换成Post即可。
发送请求上传附件
HttpRequest request=HttpRequest.post("http://google.com"); request.part("status[body]","Making a multipart request"); request.part("status[image]",newFile("/home/kevin/Pictures/ide.png")); if(request.ok()){ System.out.println("Status was updated"); }
常用http请求配置
HttpRequest request = HttpRequest.get("https://google.com"); //信任所有证书 request.trustAllCerts(); //信任所有地址 request.trustAllHosts(); //设置请求超时时间 request.connectTimeout(60000); //设置读取超时时间 request.readTimeout(60000); 以上设置支持Builder模式 String resp = HttpRequest.post("http://www.baidu.com").trustAllCerts().trustAllHosts() .form(data) .connectTimeout(60000) .readTimeout(60000) .body();
配置http代理
HttpRequest request = HttpRequest.get("https://google.com"); //Configure proxy request.useProxy("localhost", 8080); //Optional proxy basic authentication request.proxyBasic("username", "p4ssw0rd");
总结
此工具类方便易用,没有任何依赖库,源代码也只有一个类HttpRequest,简洁明了,而且支持Builder模式链式调用。有兴趣的同学可以尝试使用,用过都说好,更多用法请自行查看官网例子。相关文章推荐
- javaHTTP请求工具类-使用HttpURLConnection实现
- HTTP请求工具类(Java)
- java发送http的get、post请求工具类
- java http请求工具类
- Java学习笔记———《http的get请求和post请求及封装的工具类》
- 获取HttpServletRequest请求参数的工具类
- java httpRequest协议请求分享
- Java Http请求工具类和接收请求的方法
- java http请求的get和post方法工具类
- java从HttpServletRequest中得到完整的请求URL
- java通过HttpServletRequest获取post请求中的body内容
- 【使用Java原生API编写发送HTTP_POST请求的工具类】
- 使用Java原生API编写发送HTTP_POST请求的工具类
- Java 通过HttpRequest获取请求用户真实IP地址
- 四、java项目常用工具类之http请求工具类
- java模拟httppost和httpget请求工具类
- 利用ASIHTTPRequest请求java服务和JSONKit解析返回的json串
- java中使用HttpRequest发送请求
- 利用ASIHTTPRequest请求java服务和JSONKit解析返回的json串
- java通过HttpServletRequest获取post请求中的body内容的方法