HttpClient使用简介说明

[复制链接]
发表于 2022-8-30 23:40:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
转自:
http://www.java265.com/JavaCourse/202204/2933.html
下文笔者将采用最简单的示例讲述HttpClient的使用,如下所示
HttpClient的使用流程
  1. 1. 创建HttpClient对象
  2. 2. 创建请求方法的实例,并指定请求URL。如果需要发送GET请求,创建HttpGet对象;如果需要发送POST请求,创建HttpPost对象
  3. 3. 如果需要发送请求参数,可调用HttpGet、HttpPost共同的setParams(HttpParams params)方法来添加请求参数;对于HttpPost对象而言,也可调用setEntity(HttpEntity entity)方法来设置请求参数
  4. 4. 调用HttpClient对象的execute(HttpUriRequest request)发送请求,
  5.     该方法返回一个HttpResponse
  6. 5. 调用HttpResponse的getAllHeaders()、getHeaders(String name)等方法可获取服务器的响应头
  7.    调用HttpResponse的getEntity()方法可获取HttpEntity对象,该对象包装了服务器的响应内容
  8.    程序可通过该对象获取服务器的响应内容
  9. 6. 释放连接。无论执行方法是否成功,都必须释放连接
复制代码
HttpClient涉及jar包
  1. commons-cli-1.2.jar  
  2. commons-codec-1.9.jar  
  3. commons-logging-1.2.jar  
  4. fluent-hc-4.5.1.jar  
  5. httpclient-4.5.1.jar  
  6. httpclient-cache-4.5.1.jar  
  7. httpclient-win-4.5.1.jar  
  8. httpcore-4.4.3.jar  
  9. httpcore-ab-4.4.3.jar  
  10. httpcore-nio-4.4.3.jar  
  11. httpmime-4.5.1.jar  
  12. jna-4.1.0.jar  
  13. jna-platform-4.1.0.jar
复制代码
HttpClient示例
  1. package com.java265;  
  2.    
  3. import java.io.FileInputStream;  
  4. import java.io.IOException;  
  5. import java.util.ArrayList;  
  6. import java.util.List;  
  7. import java.util.Properties;  
  8.    
  9. import org.apache.http.HttpEntity;  
  10. import org.apache.http.HttpResponse;  
  11. import org.apache.http.NameValuePair;  
  12. import org.apache.http.client.HttpClient;  
  13. import org.apache.http.client.config.RequestConfig;  
  14. import org.apache.http.client.entity.UrlEncodedFormEntity;  
  15. import org.apache.http.client.methods.HttpPost;  
  16. import org.apache.http.impl.client.DefaultHttpClient;  
  17. import org.apache.http.message.BasicNameValuePair;  
  18. import org.apache.http.util.EntityUtils;  
  19.    
  20. public class HttpClientTest {  
  21.     public static void main(String[] args) throws Exception{  
  22.         List<NameValuePair> formparams = new ArrayList<NameValuePair>();  
  23.         formparams.add(new BasicNameValuePair("account", ""));  
  24.         formparams.add(new BasicNameValuePair("password", ""));  
  25.         HttpEntity reqEntity = new UrlEncodedFormEntity(formparams, "utf-8");  
  26.    
  27.         RequestConfig requestConfig = RequestConfig.custom()  
  28.         .setConnectTimeout(5000)//一、连接超时:connectionTimeout-->指的是连接一个url的连接等待时间  
  29.                 .setSocketTimeout(5000)// 二、读取数据超时:SocketTimeout-->指的是连接上一个url,获取response的返回等待时间  
  30.                 .setConnectionRequestTimeout(5000)  
  31.                 .build();  
  32.    
  33.         HttpClient client = new DefaultHttpClient();  
  34.         HttpPost post = new HttpPost("http://java265.com/index.html");  
  35.         post.setEntity(reqEntity);  
  36.         post.setConfig(requestConfig);  
  37.         HttpResponse response = client.execute(post);  
  38.    
  39.         if (response.getStatusLine().getStatusCode() == 200) {  
  40.             HttpEntity resEntity = response.getEntity();  
  41.             String message = EntityUtils.toString(resEntity, "utf-8");  
  42.             System.out.println(message);  
  43.         } else {  
  44.             System.out.println("请求失败");  
  45.         }  
  46.     }  
  47.    
  48. }
复制代码
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表