package com.java;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
import java.io.IOException;
/**
* @author gmy
* @version 1.0
* @Date 2021/7/29 10:25
* 无参数的post请求
*/
public class HttpPostTest {
public static void main(String[] args) {
// 创建HttpClient对象
CloseableHttpClient httpClient=HttpClients.createDefault();
// 创建HttpPost对象,设置url访问地址
HttpPost httpPost=new HttpPost("http://www.itcast.cn");
// 使用HttpClient发起请求,获取response
CloseableHttpResponse response=null;
try {
response = httpClient.execute(httpPost);
// 解析响应
if (response.getStatusLine().getStatusCode() == 200){
String content = EntityUtils.toString(response.getEntity(),"utf8");
System.out.println(content.length());
}
} catch (IOException e) {
e.printStackTrace();
}finally {
// 关闭response
try {
if (null!=response){
response.close();
}
} catch (IOException e) {
e.printStackTrace();
}
try {
httpClient.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
package com.java;
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.HttpPost;
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 java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.List;
/**
* @author gmy
* @version 1.0
* @Date 2021/7/29 10:25
* 有参数的post请求-url的地址没有参数,参数放到表单中提交
*/
public class HttpPostParamTest {
public static void main(String[] args) {
// 创建HttpClient对象
CloseableHttpClient httpClient=HttpClients.createDefault();
// 创建HttpPost对象,设置url访问地址 设置请求地址是:http://yun.itheima.com/search?keys=Java
HttpPost httpPost=new HttpPost("http://www.itcast.cn");
// 声明List集合,封装表单中的参数
List<NameValuePair> params=new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("key","Java"));
// 创建表单的Entity对象,第一个参数就是封装好的表单数据,第二个参数就是编码
UrlEncodedFormEntity formEntity= null;
try {
formEntity = new UrlEncodedFormEntity(params,"utf8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
// 设置表单的Entity对象到Post请求中
httpPost.setEntity(formEntity);
// 使用HttpClient发起请求,获取response
CloseableHttpResponse response=null;
try {
response = httpClient.execute(httpPost);
// 解析响应
if (response.getStatusLine().getStatusCode() == 200){
String content = EntityUtils.toString(response.getEntity(),"utf8");
System.out.println(content.length());
}
} catch (IOException e) {
e.printStackTrace();
}finally {
// 关闭response
try {
if (null!=response){
response.close();
}
} catch (IOException e) {
e.printStackTrace();
}
try {
httpClient.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}