【HttpClient详解】HttpClient的几种基本用法实例

人生之路不会是一帆风顺的,我们会遇上顺境,也会遇上逆境,在所有成功路上折磨你的,背后都隐藏着激励你奋发向上的动机,人生没有如果,只有后果与结果,成熟,就是用微笑来面对一切小事。

导读:本篇文章讲解 【HttpClient详解】HttpClient的几种基本用法实例,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

package cn.zifangsky.httpclient;

import java.io.File;
import java.util.ArrayList;
import java.util.List;

import org.apache.http.Header;
import org.apache.http.HttpEntity;
import org.apache.http.NameValuePair;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.ContentType;
import org.apache.http.entity.mime.MultipartEntityBuilder;
import org.apache.http.entity.mime.content.StringBody;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;
import org.junit.Test;

/**
 * 几个基本用法实例
 * @author zifangsky
 *
 */
public class Demo {
    
    /**
     * 测试GET请求
     */
    @Test
    public void get(){
        CloseableHttpClient httpClient = HttpClients.createDefault();
        try {
            //创建HttpGet
            HttpGet httpGet = new HttpGet(“http://webmagic.io”);
            System.out.println(“executing request: ” + httpGet.getURI());
            
            //执行get请求
            CloseableHttpResponse response = httpClient.execute(httpGet);
            
            HttpEntity entity = response.getEntity();
            System.out.println(“————————-“);
            //打印响应状态
            System.out.println(“Status: ” + response.getStatusLine());
            //打印Server
            Header[] headers = response.getHeaders(“Server”);
            if(headers != null && headers.length > 0){
                System.out.println(“Server: ” + response.getHeaders(“Server”)[0].getValue());
            }
            
            if(entity != null){
                //打印响应内容长度
                System.out.println(“Response content length: ” + entity.getContentLength());
                
                //打印响应内容
                System.out.println(“Response content: ” + EntityUtils.toString(entity));
            }
            
            response.close();
            httpClient.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
        
    }
    
    /**
     * 测试POST请求
     */
    @Test
    public void post(){
        CloseableHttpClient httpClient = HttpClients.createDefault();
        try {
            //创建HttpPost
            HttpPost httpPost = new HttpPost(“http://xss.ooai.org/index.php?do=login&act=submit”);
            //创建参数列表
            List<NameValuePair> formParams = new ArrayList<>();
            formParams.add(new BasicNameValuePair(“user”, “root123”));
            formParams.add(new BasicNameValuePair(“pwd”, “1qaz2wsxcde3”));
            
            UrlEncodedFormEntity formEntity = new UrlEncodedFormEntity(formParams,”UTF-8″);
            httpPost.setEntity(formEntity);
            System.out.println(“executing request: ” + httpPost.getURI());
            
            //执行post请求
            CloseableHttpResponse response = httpClient.execute(httpPost);
            
            HttpEntity entity = response.getEntity();
            System.out.println(“————————-“);
            //打印响应状态
            System.out.println(“Status: ” + response.getStatusLine());
            //打印Server
            Header[] headers = response.getHeaders(“Server”);
            if(headers != null && headers.length > 0){
                System.out.println(“Server: ” + response.getFirstHeader(“Server”).getValue());
            }
            
            if(entity != null){
                //打印响应内容长度
                System.out.println(“Response content length: ” + entity.getContentLength());
                
                //打印响应内容
                System.out.println(“Response content: ” + EntityUtils.toString(entity));
            }
            
            response.close();
            httpClient.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    /**
     * 测试文件上传
     */
    @Test
    public void upload(){
        CloseableHttpClient httpClient = HttpClients.createDefault();
        try {
            //创建HttpPost
            HttpPost httpPost = new HttpPost(“http://localhost:7080/Fileupload/upload.html”);
            //创建参数列表
            StringBody stringBody = new StringBody(“12345678”, ContentType.TEXT_PLAIN);
            
            
            File picture = new File(“C:/Users/Administrator/Desktop/1111.png”);
            HttpEntity reqEntity = MultipartEntityBuilder.create().addBinaryBody(“file”, picture).addPart(“userName”,stringBody).build();
            
            httpPost.setEntity(reqEntity);
            System.out.println(“executing request: ” + httpPost.getURI());
            
            //执行post请求
            CloseableHttpResponse response = httpClient.execute(httpPost);
            
            HttpEntity entity = response.getEntity();
            System.out.println(“————————-“);
            //打印响应状态
            System.out.println(“Status: ” + response.getStatusLine());
            //打印Server
            Header[] headers = response.getHeaders(“Server”);
            if(headers != null && headers.length > 0){
                System.out.println(“Server: ” + response.getHeaders(“Server”)[0].getValue());
            }
            
            if(entity != null){
                //打印响应内容长度
                System.out.println(“Response content length: ” + entity.getContentLength());
                
                //打印响应内容
                System.out.println(“Response content: ” + EntityUtils.toString(entity));
            }
            
            response.close();
            httpClient.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

}
 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/124472.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!