httpclient发送get请求并接收相应数据
2017-04-09 13:02
471 查看
终于开始我的实习生涯了,打算每星期发一篇自己遇到的需求或者总结,希望各位大神批评指正,也喜欢能来几个志同道合和我一起来学习,走上java大神之路
废话不多说,最近由于工作原因,开始接触netty,service已经也好,需要我做一个httpclient去发送http请求,网上搜了一下,一大堆的实例,不过有一些跑不起来,这里就为自己总结一下。
首先创建一个maven项目
之后引入相应架包,就是这里调了好久。架包版本不同会发生冲突,最新的版本猜想可能和自己的jdk也会发生冲突,我的是1.7的jdk,而现在最新的httpclient是4.5.3,可能这个对应的时1.8的jdk,本来想用最新的这个版本,可惜各种报错,最终选择了4.31版本
需要注意的是这里的httpcore和httpclient所选版本要选择能依赖的
这是我选择了几个版本之后尝试之后唯一可以用的
下面就是代码:
在主函数中跑起来
最后的结果为
今天就先分享这些,希望有小伙伴能一起学习 806029174
废话不多说,最近由于工作原因,开始接触netty,service已经也好,需要我做一个httpclient去发送http请求,网上搜了一下,一大堆的实例,不过有一些跑不起来,这里就为自己总结一下。
首先创建一个maven项目
之后引入相应架包,就是这里调了好久。架包版本不同会发生冲突,最新的版本猜想可能和自己的jdk也会发生冲突,我的是1.7的jdk,而现在最新的httpclient是4.5.3,可能这个对应的时1.8的jdk,本来想用最新的这个版本,可惜各种报错,最终选择了4.31版本
<dependencies> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.3.1</version> </dependency> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpcore</artifactId> <version>4.3.1</version> </dependency> </dependencies>
需要注意的是这里的httpcore和httpclient所选版本要选择能依赖的
这是我选择了几个版本之后尝试之后唯一可以用的
下面就是代码:
package com.slz.demo.util; import org.apache.http.HttpEntity; import org.apache.http.ParseException; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import org.apache.http.util.EntityUtils; import java.io.IOException; /** * Created by shileizhou on 17-4-8. */ public class HttpClientUtils { /** * 发送 get请求 */ public static void get(String url) { CloseableHttpClient httpclient = HttpClients.createDefault(); try { // 创建httpget. HttpGet httpget = new HttpGet(url); System.out.println("executing request " + httpget.getURI()); // 执行get请求. CloseableHttpResponse response = httpclient.execute(httpget); try { // 获取响应实体 HttpEntity entity = response.getEntity(); System.out.println("--------------------------------------"); // 打印响应状态 System.out.println(response.getStatusLine()); if (entity != null) { // 打印响应内容长度 System.out.println("Response content length: " + entity.getContentLength()); // 打印响应内容 System.out.println("Response content: " + EntityUtils.toString(entity)); } System.out.println("------------------------------------"); } finally { response.close(); } } catch (ClientProtocolException e) { e.printStackTrace(); } catch (ParseException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { // 关闭连接,释放资源 try { httpclient.close(); } catch (IOException e) { e.printStackTrace(); } } } }
在主函数中跑起来
package com.slz.demo.client; import com.slz.demo.util.HttpClientUtils; /** * Created by shileizhou on 17-4-8. */ public class HttpClient { public static void main(String[] args){ HttpClientUtils.get("https://www.baidu.com?word=刘德华"); } }
最后的结果为
今天就先分享这些,希望有小伙伴能一起学习 806029174
相关文章推荐
- HttpClient发送get post请求和数据解析
- HttpClient 发送get请求并返回Json数据
- HttpClient发送get post请求和数据解析
- Python中使用socket发送HTTP请求数据接收不完整问题解决方法
- Android下通过httpClient发送GET和POST请求
- android, httpclient,get,发送数据到服务器
- [Socket]利用Jatarka下HttpClient发送(Get && Post)请求
- 用httpclient4.x 发送http get post请求。
- java apache commons HttpClient发送get和post请求的学习整理(转)
- Android之网络----使用HttpClient发送HTTP请求(通过get方法获取数据)
- Python中使用socket发送HTTP请求数据接收不完整问题解决方法
- XMLHttpRequest发送POST、GET请求以及接收返回值
- Ajax核心XMLHttpRequest对象、(发送请求、接收)方法和属性介绍、AJAX开发框架、数据格式提要(XML、JSON、HTML)
- java httpclient发送post get 请求
- Ajax核心XMLHttpRequest对象、(发送请求、接收)方法和属性介绍、AJAX开发框架、数据格式提要(XML、JSON、HTML)
- Android系列之网络(一)----使用HttpClient发送HTTP请求(通过get方法获取数据)
- 初涉Ajax,以post或get方法发送数据,以json或xml形式接收服务器返回的请求
- 我的Android进阶之旅------>Android发送GET和POST以及HttpClient发送POST请求给服务器响应
- 使用JavaScript的XMLHttpRequest发送POST、GET请求以及接收返回值
- 用httpclient4.x 发送http get post请求。