httpclient工具使用(org.apache.httpcomponents.httpclient)

引入依赖

  1. <dependency>
  2. <groupId>org.apache.httpcomponents</groupId>
  3. <artifactId>httpclient</artifactId>
  4. <version>4.3.5</version>
  5. </dependency>

  

get请求

  1. public static void main(String[] args) throws Exception {
  2.  
  3. //创建httpclient对象
  4. CloseableHttpClient httpClient = HttpClients.createDefault();
  5. //创建Http get请求
  6. HttpGet httpGet = new HttpGet("http://www.xxx.com/rest/content?categoryId=4&page=1&rows=20");
  7. //接收返回值
  8. CloseableHttpResponse response = null;
  9.  
  10. try {
  11. //请求执行
  12. response = httpClient.execute(httpGet);
  13. if(response.getStatusLine().getStatusCode()==200){
  14. String content = EntityUtils.toString(response.getEntity(), "utf-8");
  15. System.out.println("--------->" + content);
  16. }
  17. }finally{
  18. if(response!=null){
  19. response.close();
  20. }
  21. httpClient.close();
  22. }

  

get带参数请求

  1. public static void main(String[] args) throws Exception{
  2.  
  3. //创建httpClient对象
  4. CloseableHttpClient httpClient = HttpClients.createDefault();
  5. //定义http get参数
  6. URI uri = new URIBuilder("http://www.xxxx.com/rest/content").setParameter("categoryId", "4")
  7. .setParameter("page", "1").setParameter("rows", "30").build();
  8. System.out.println(uri);
  9. //创建http get请求
  10. HttpGet httpGet = new HttpGet(uri);
  11.  
  12. //接受请求返回的定义
  13. CloseableHttpResponse response = null;
  14. try {
  15. //执行get请求
  16. response = httpClient.execute(httpGet);
  17. if(response.getStatusLine().getStatusCode()==200){
  18. String content = EntityUtils.toString(response.getEntity(), "utf-8");
  19. System.out.println(content);
  20. }
  21. }finally{
  22. if(response!=null){
  23. response.close();
  24. }
  25. httpClient.close();
  26. }
  27. }

  

http post请求

  1. public static void main(String[] args) throws Exception {
  2.  
  3. // 创建Httpclient对象
  4. CloseableHttpClient httpclient = HttpClients.createDefault();
  5.  
  6. // 创建http POST请求
  7. HttpPost httpPost = new HttpPost("http://www.oschina.net/");
  8. // 伪装成浏览器
  9. httpPost.setHeader("User-Agent", "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.94 Safari/537.36");
  10.  
  11. CloseableHttpResponse response = null;
  12. try {
  13. // 执行请求
  14. response = httpclient.execute(httpPost);
  15. // 判断返回状态是否为200
  16. if (response.getStatusLine().getStatusCode() == 200) {
  17. String content = EntityUtils.toString(response.getEntity(), "UTF-8");
  18. System.out.println(content);
  19. }
  20. } finally {
  21. if (response != null) {
  22. response.close();
  23. }
  24. httpclient.close();
  25. }
  26.  
  27. }

  

http post带参数请求

  1. public static void main(String[] args) throws Exception{
  2. //创建httpclient
  3. CloseableHttpClient httpClient = HttpClients.createDefault();
  4. //创建http post
  5. HttpPost httpPost = new HttpPost("http://www.oschina.net/search");
  6. //模拟浏览器设置头
  7. httpPost.setHeader(
  8. "User-Agent",
  9. "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.94 Safari/537.36");
  10.  
  11. //设置请求数据
  12. List<NameValuePair> params = new ArrayList<NameValuePair>();
  13. params.add(new BasicNameValuePair("scope", "project"));
  14. params.add(new BasicNameValuePair("q", "java"));
  15. params.add(new BasicNameValuePair("fromerr", "7nXH76r7"));
  16. //构建表单
  17. UrlEncodedFormEntity formEntity = new UrlEncodedFormEntity(params);
  18. //将表达请求放入到httpost
  19. httpPost.setEntity(formEntity);
  20.  
  21. //返回类型
  22. CloseableHttpResponse response = null;
  23.  
  24. try {
  25. response = httpClient.execute(httpPost);
  26. String content = EntityUtils.toString(response.getEntity(), "utf-8");
  27. System.out.println(content);
  28. }finally{
  29. if(response!=null){
  30. response.close();
  31. }
  32. httpClient.close();
  33. }
  34.  
  35. }

  

httpclient工具使用(org.apache.httpcomponents.httpclient)的更多相关文章

  1. org.apache.httpcomponents.httpclient

    apache org doc :http://hc.apache.org/httpcomponents-client-ga/tutorial/html/fundamentals.html#d5e49 ...

  2. org.apache.httpcomponents:httpclient 工具类

    基于httpclient 版本4.4.1 因为http连接需要三次握手,在需要频繁调用时浪费资源和时间 故采用连接池的方式连接 根据实际需要更改  连接池最大连接数.路由最大连接数 另一个需要注意的是 ...

  3. org.apache.httpcomponents httpclient 发起HTTP JSON请求

    1. pom.xml <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactI ...

  4. org.apache.commons.httpclient工具类

    import org.apache.commons.httpclient.DefaultHttpMethodRetryHandler; import org.apache.commons.httpcl ...

  5. org.apache.commons.httpclient工具类(封装的HttpUtil)

    import java.io.BufferedInputStream; import java.io.File; import java.io.FileInputStream; import java ...

  6. 【commons-httpclient】Java中HttpClient工具访问Web请求

    注意jar包是: HttpClient工具使用 HttpClient 是 Apache Jakarta Common 下的子项目,可以用来提供高效的.最新的.功能丰富的支持 HTTP 协议的客户端编程 ...

  7. java apache commons HttpClient发送get和post请求的学习整理(转)

    文章转自:http://blog.csdn.net/ambitiontan/archive/2006/01/06/572171.aspx HttpClient 是我最近想研究的东西,以前想过的一些应用 ...

  8. Java网络编程:利用apache的HttpClient包进行http操作

    本文介绍如何利用apache的HttpClient包进行http操作,包括get操作和post操作. 一.下面的代码是对HttpClient包的封装,以便于更好的编写应用代码. import java ...

  9. org.apache.commons.httpclient.HttpClient的使用(转)

    HTTP 协议可能是现在 Internet 上使用得最多.最重要的协议了,越来越多的 Java 应用程序需要直接通过 HTTP 协议来访问网络资源.虽然在 JDK 的 java net包中已经提供了访 ...

随机推荐

  1. 【C++札记】多态

    C++中多态是面向对象设计思想的重要特性,同名具有不同功能函数,该函数调用过程执行不同的功能.多态的原理是通过一张虚函数表(Virtual Table)实现的.动多态会牺牲一些空间和效率来最终实现动态 ...

  2. python with方法

    在实际的编码过程中,有时有一些任务,需要事先做一些设置,事后做一些清理,这时就需要python with出场了,with能够对这样的需求进行一个比较优雅的处理,最常用的例子就是对访问文件的处理. 一般 ...

  3. day37——阻塞、非阻塞、同步、异步

    day37 阻塞.非阻塞.同步.异步 进程运行的三个状态:运行.就绪.阻塞 执行的角度 阻塞:程序运行时,遇到了IO,程序挂起,CPU被切走 非阻塞:程序没有遇到IO,程序遇到IO但是我通过某种手段, ...

  4. argv和raw_input的区别

    argv是在一开始就要输入不输入程序会出现错误,raw_input是在运行之后进行输入.

  5. Django模型层之单表操作

    Django模型层之单表操作 一 .ORM简介 我们在使用Django框架开发web应用的过程中,不可避免地会涉及到数据的管理操作(如增.删.改.查),而一旦谈到数据的管理操作,就需要用到数据库管理软 ...

  6. Navicat premium工具转储数据表的结构时,datatime字段报错

    Navicat premium工具导出数据库: Navicat premium工具导入数据库: 运行SQL文件,遇到的错误,红色下划线提示,发现:(SQL文件的时间有问题) 不是insert语句有问题 ...

  7. C#特性的学习(一)

    1.预定定义特性之一:AttributeUsage AttributeUsage有三个属性: 第一个属性:ValidOn 规定特性可被放置的语言元素,默认是AttributeTargets.All.

  8. PKPM BIMViewer的使用

    模型的使用,目前有两个方案, 一个是使用全局组件,在单页面的主页面中进行嵌套 <template> <div id="model"> <!-- 这样的 ...

  9. javascript, 元素 页面 简单碰撞

     <div>     </div>     <style>         div {             width: 100px;              ...

  10. HTML学习摘要3

    DAY 3 浏览器会自动地在标题的前后添加空行 默认情况下,HTML 会自动地在块级元素前后添加一个额外的空行,比如段落.标题元素前后. <hr /> 标签在 HTML 页面中创建水平线. ...