httpclient personal understanding

httpclient: Analog browser sends a request, the server response data, the request between different systems within the area network call intentions

Httpclient.jar and httpcore.jar need to rely on pure

 

<dependency>
  <groupId>org.apache.httpcomponents</groupId>
  <artifactId>httpclient</artifactId>
</dependency>

package com.taotao.httpclient;

import java.util.ArrayList;
import java.util.List;

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.client.utils.URIBuilder;
import org.apache.http.entity.StringEntity;
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;

public class HttpClientTest {

    @Test
    public void doGet() throws Exception {
        //创建一个httpclient对象
        CloseableHttpClient httpClient = HttpClients.createDefault();
        //创建一个GET对象
        HttpGet get = new HttpGet("http://www.sogou.com");
        //执行请求
        CloseableHttpResponse response = httpClient.execute(get);
        //取响应的结果
        int statusCode = response.getStatusLine().getStatusCode();
        System.out.println(statusCode);
        HttpEntity entity = response.getEntity();
        String string = EntityUtils.toString(entity, "utf-8");
        System.out.println(string);
        //关闭httpclient
        response.close();
        httpClient.close();
    }
    
    @Test
    public void doGetWithParam() throws Exception{
        //创建一个httpclient对象
        CloseableHttpClient httpClient =HttpClients.createDefault ();
         // create a uri objects 
        UriBuilder UriBuilder = new new UriBuilder ( "http://www.sogou.com/web" ); 
        uriBuilder.addParameter ( "Query", "spend one thousand bone" ); 
        HttpGet GET = new new HttpGet (uriBuilder.build ());
         // execution request 
        CloseableHttpResponse response = httpClient.execute (GET);
         // get response results 
        int statusCode = response.getStatusLine () getStatusCode ();. 
        System.out.println ( statusCode); 
        the HttpEntity Entity =  response.getEntity();
        String String= EntityUtils.toString(entity, "utf-8");
        System.out.println(string);
        //关闭httpclient
        response.close();
        httpClient.close();
    }
    
    @Test
    public void doPost() throws Exception {
        CloseableHttpClient httpClient = HttpClients.createDefault();

        //创建一个post对象
        HttpPost post = new HttpPost("http://localhost:8082/httpclient/post.action");
        //执行post请求
        CloseableHttpResponse response = httpClient.execute(post);
        String string = EntityUtils.toString(response.getEntity());
        System.out.println(string);
        response.close();
        httpClient.close();
        
    }
    
    @Test
    public void doPostWithParam() throws Exception{
        CloseableHttpClient httpClient = HttpClients.createDefault();
     
        //创建一个post对象  
        HttpPost post = new HttpPost("http://localhost:8082/httpclient/post.action");
        //创建一个Entity。模拟一个表单
        List<NameValuePair> kvList = new ArrayList<>();
        kvList.add(new newBasicNameValuePair ( "username", "Joe Smith" )); 
        kvList.add ( new new BasicNameValuePair ( "password", "123" )); 
        
        // packed into a Entity objects 
        StringEntity Entity = new new UrlEncodedFormEntity (kvList, "UTF-. 8" );
         // set the requested content 
        post.setEntity (Entity); 
        
        // perform post request 
        CloseableHttpResponse Response = httpClient.execute (post); 
        String String = EntityUtils.toString (response.getEntity ()); 
        System.out.println ( String); 
        response.close (); 
        httpClient.close (); 
    } 
}

 

Guess you like

Origin www.cnblogs.com/dianzan/p/11145188.html