httpclient的简单使用

Posted zhangjinru123

tags:

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

1、通过get请求后台,注意tomcat的编码设置成utf-8;    <Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="UTF-8" />

/** 
     * 发送 get请求 
     */  
    public static void get() {  
        CloseableHttpClient httpclient = HttpClients.createDefault();  
        try {  
            //先将参数放入List,再对参数进行URL编码 
            List<BasicNameValuePair> params = new LinkedList<BasicNameValuePair>(); 
            params.add(new BasicNameValuePair("get", "get请求哈哈哈")); 

            //对参数编码 
            String param = URLEncodedUtils.format(params, "UTF-8"); 
            // 创建httpget.    
            HttpGet httpget = new HttpGet("http://localhost:8080/HttpServleTest.html?"+param);  

            // 执行get请求.    
            CloseableHttpResponse response = httpclient.execute(httpget);  
            try {  
                // 获取响应实体    
                HttpEntity entity = response.getEntity(); 
                // 打印响应状态码    
                System.out.println(response.getStatusLine().getStatusCode());  
                if (entity != null) {  
                    // 打印响应内容    
                    System.out.println("Response content: " + EntityUtils.toString(entity,"UTF-8"));  
                }  
            } finally {  
                response.close();  
            }  
        } catch (Exception e) {  
            e.printStackTrace();  
        } finally {  
            // 关闭连接,释放资源    
            try {  
                httpclient.close();  
            } catch (IOException e) {  
                e.printStackTrace();  
            }  
        }  
    }  

2.post请求

/** 
     * 发送 post
     */  
    public static void post() {  
        // 创建默认的httpClient实例.    
        CloseableHttpClient httpclient = HttpClients.createDefault();  
        // 创建httppost    
        HttpPost httppost = new HttpPost("http://localhost:8080/HttpServleTest.html");  
        // 创建参数队列    
        List<NameValuePair> formparams = new ArrayList<NameValuePair>();  
        formparams.add(new BasicNameValuePair("post", "post请求哈哈哈"));  
        UrlEncodedFormEntity uefEntity;  
        try {  
            uefEntity = new UrlEncodedFormEntity(formparams, "UTF-8");  
            httppost.setEntity(uefEntity);  
            CloseableHttpResponse response = httpclient.execute(httppost);  
            try {  
                HttpEntity entity = response.getEntity();  
                if (entity != null) {  
                    System.out.println("Response content: " + EntityUtils.toString(entity, "UTF-8"));  
                }  
            } finally {  
                response.close();  
            }  
        } catch (Exception e) {  
            e.printStackTrace();  
        } finally {  
            // 关闭连接,释放资源    
            try {  
                httpclient.close();  
            } catch (IOException e) {  
                e.printStackTrace();  
            }  
        }  
    }  

3、后台服务程序和本案例代码下载地址:

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

HttpClient“任务被取消”

android的自带的httpClient 怎么上传文件

使用 HttpClient 的简单 POST

HttpClient使用详解

Httpclient

httpclient的使用