httpclient 4.0 使用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了httpclient 4.0 使用相关的知识,希望对你有一定的参考价值。

httclient 正常流程

1、创建httpclient实例

HttpClient httpClient = new DefaultHttpClient();
CloseableHttpClient httpclient =  HttpClients.createDefault();

 

2、创建请求实例

HttpGet httpGet = new HttpGet(url);
HttpPost httpPost = new HttpPost(url);

 

3、补充头信息(可选)

httpPost.addHeader("Referer", "http://iservice.10010.com/e4/query/basic/history_list.html");
httpPost.addHeader(" Cookie ", " td_cookie=18446744072103645798; mallcity=31|310; ");

 

4、补充请求实体

1)url是restful风格,已经包含需要传入的参数。可以跳过直接到下一步操作。

url="https://ssoqa.99bill.com/sso/login/smsvalidate.htm?method=loginErrorCount&idContent=1234567" 

 

2)表单

List<NameValuePair> nvps = new ArrayList<NameValuePair>();
nvps.add(new BasicNameValuePair("querytype", "0001"));
nvps.add(new BasicNameValuePair("querycode", "0001"));
nvps.add(new BasicNameValuePair("billdate", "201608"));
nvps.add(new BasicNameValuePair("flag", "2"));
httpPost.setEntity(new UrlEncodedFormEntity(nvps));

 

5、请求执行

HttpResponse response = httpClient.execute(httpGet);
CloseableHttpResponse response = httpclient.execute(httpGet);
byte[] response = httpClient.execute(httpGet,handler);

 

6、读取响应内容

if (response.getStatusLine().getStatusCode() == 200) {
    HttpEntity entity = response.getEntity();
     if (entity != null) {
                     InputStream instream = entity.getContent();
            try {
           // do something useful
             } finally {
                instream.close();
            }
        }
   } 

 

7、释放连接

response.close(); 

 

 

需要引用的jar

        <!-- httpclient -->
        <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpclient</artifactId>
            <version>4.3.4</version>
        </dependency>
        <!-- httpclient -->

 

以上是关于httpclient 4.0 使用的主要内容,如果未能解决你的问题,请参考以下文章

HttpClient 4.0的使用详解

如何使用 .Net 4.0 中包含的 HttpClient 类将文件上传到在 IIS Express 中运行的 Asp.Net MVC 4.0 操作

.net 4.0 和 .net 4.5 中的 HttpClient 有啥区别

使用 .NET 4.0 任务模式使用 HTTPClient .ReadAsAsync 将 JSON 反序列化为数组或列表

Apache HttpClient 4.0 无法在 Android 上的套接字超时

csharp C#代码片段 - 使类成为Singleton模式。 (C#4.0+)https://heiswayi.github.io/2016/simple-singleton-pattern-us