【HttpClient详解】HttpClient的几种基本用法实例
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
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();
}
}
}
还没有评论,来说两句吧...