Get请求、Post请求
1、Get请求
1、创建Get类。
没有参数,直接发送请求链接地址。
Get方法,创建HttpGet对象。
脚本代码:
package com.test.demo;
import java.io.IOException;
import org.apache.http.HttpEntity;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
/**
* Get请求(没有参数)
*
* @author wangmcn
*
*/
public class Get {
public static void main(String[] args) throws ClientProtocolException, IOException {
// 创建CloseableHttpClient对象
CloseableHttpClient httpclient = HttpClients.createDefault();
// 创建HttpGet对象
HttpGet httpget = new HttpGet("http://localhost:8083/getdemo");
// 执行Get请求
CloseableHttpResponse response = httpclient.execute(httpget);
// 获取响应状态
System.out.println("获取响应状态: " + response.getStatusLine().getStatusCode());
// 获取返回实体
HttpEntity entity = response.getEntity();
// 获取网页源码
System.out.println("获取网页源码:" + EntityUtils.toString(entity, "utf-8"));
// 获取响应内容类型
System.out.println("获取响应内容类型:" + entity.getContentType().getValue());
// 关闭流和释放系统资源
response.close();
// 关闭客户端
httpclient.close();
}
}
2、运行结果:
1、创建Get2类。
有参数,请求链接为url(http://localhost:8083/getdemo2)
与参数(?username=admin&password=123456)拼接方式。
Get方法,创建HttpGet对象。
脚本代码:
package com.test.demo;
import java.io.IOException;
import org.apache.http.HttpEntity;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
/**
* Get请求(有参数,请求为url与参数拼接方式)
*
* @author wangmcn
*
*/
public class Get2 {
public static void main(String[] args) throws ClientProtocolException, IOException {
// 创建CloseableHttpClient对象
CloseableHttpClient httpclient = HttpClients.createDefault();
// 创建HttpGet对象
HttpGet httpget = new HttpGet("http://localhost:8083/getdemo2?username=admin&password=123456");
// 执行Get请求
CloseableHttpResponse response = httpclient.execute(httpget);
// 获取响应状态
System.out.println("获取响应状态: " + response.getStatusLine().getStatusCode());
// 获取返回实体
HttpEntity entity = response.getEntity();
// 获取网页源码
System.out.println("获取网页源码:" + EntityUtils.toString(entity, "utf-8"));
// 获取响应内容类型
System.out.println("获取响应内容类型:" + entity.getContentType().getValue());
// 关闭流和释放系统资源
response.close();
// 关闭客户端
httpclient.close();
}
}
2、运行结果:
1、创建Get3类。
创建NameValuePair数组,添加参数。
Get方法,创建HttpGet对象。
脚本代码:
package com.test.demo;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import org.apache.http.Consts;
import org.apache.http.HttpEntity;
import org.apache.http.NameValuePair;
import org.apache.http.ParseException;
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.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;
/**
* Get请求(有参数,添加参数)
*
* @author wangmcn
*
*/
public class Get3 {
public static void main(String[] args) throws ParseException, IOException {
// 创建CloseableHttpClient对象
CloseableHttpClient httpclient = HttpClients.createDefault();
// url
String url = "http://localhost:8083/getdemo2";
// 添加参数
Listparams = new ArrayList();
params.add(new BasicNameValuePair("username", "admin"));
params.add(new BasicNameValuePair("password", "123456"));
// 转换为键值对
String str = EntityUtils.toString(new UrlEncodedFormEntity(params, Consts.UTF_8));
// 创建HttpGet对象
HttpGet httpget = new HttpGet(url+"?"+str);
// 执行Get请求
CloseableHttpResponse response = httpclient.execute(httpget);
// 获取响应状态
System.out.println("获取响应状态: " + response.getStatusLine().getStatusCode());
// 获取返回实体
HttpEntity entity = response.getEntity();
// 获取网页源码
System.out.println("获取网页源码:" + EntityUtils.toString(entity, "utf-8"));
// 获取响应内容类型
System.out.println("获取响应内容类型:" + entity.getContentType().getValue());
// 关闭流和释放系统资源
response.close();
// 关闭客户端
httpclient.close();
}
}
2、运行结果:
2、Post请求
1、创建Post类。
没有参数,直接发送请求链接地址。
Post方法,创建HttpPost对象。
脚本代码:
package com.test.demo;
import java.io.IOException;
import org.apache.http.HttpEntity;
import org.apache.http.client.ClientProtocolException;
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;
/**
* Post请求(没有参数)
*
* @author wangmcn
*
*/
public class Post {
public static void main(String[] args) throws ClientProtocolException, IOException {
// 创建CloseableHttpClient对象
CloseableHttpClient httpclient = HttpClients.createDefault();
// 创建HttpPost对象
HttpPost httpPost = new HttpPost("http://localhost:8083/postdemo");
// 执行Post请求
CloseableHttpResponse response = httpclient.execute(httpPost);
// 获取响应状态
System.out.println("获取响应状态: " + response.getStatusLine().getStatusCode());
// 获取返回实体
HttpEntity entity = response.getEntity();
// 获取网页源码
System.out.println("获取网页源码:" + EntityUtils.toString(entity, "utf-8"));
// 获取响应内容类型
System.out.println("获取响应内容类型:" + entity.getContentType().getValue());
// 关闭流和释放系统资源
response.close();
// 关闭客户端
httpclient.close();
}
}
2、运行结果:
1、创建Post2类。
创建StringEntity对象,设置参数。
Post方法,创建HttpPost对象。
脚本代码:
package com.test.demo;
import java.io.IOException;
import org.apache.http.HttpEntity;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
/**
* Post请求(有参数,创建StringEntity对象,设置参数)
*
* @author wangmcn
*
*/
public class Post2 {
public static void main(String[] args) throws ClientProtocolException, IOException {
// 创建CloseableHttpClient对象
CloseableHttpClient httpclient = HttpClients.createDefault();
// 创建HttpPost对象
HttpPost httpPost = new HttpPost("http://localhost:8083/postdemo2");
// 创建StringEntity对象,设置参数
StringEntity stringEntity = new StringEntity("username=admin&password=123456", "UTF-8");
stringEntity.setContentType("application/x-www-form-urlencoded");
httpPost.setEntity(stringEntity);
// 执行Post请求
CloseableHttpResponse response = httpclient.execute(httpPost);
// 获取响应状态
System.out.println("获取响应状态: " + response.getStatusLine().getStatusCode());
// 获取返回实体
HttpEntity entity = response.getEntity();
// 获取网页源码
System.out.println("获取网页源码:" + EntityUtils.toString(entity, "utf-8"));
// 获取响应内容类型
System.out.println("获取响应内容类型:" + entity.getContentType().getValue());
// 关闭流和释放系统资源
response.close();
// 关闭客户端
httpclient.close();
}
}
2、运行结果:
1、创建Post3类。
创建Map集合对象,添加参数。
Post方法,创建HttpPost对象。
脚本代码:
package com.test.demo;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.http.HttpEntity;
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
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;
/**
* Post请求(有参数,创建集合对象,添加参数)
*
* @author wangmcn
*
*/
public class Post3 {
public static void main(String[] args) throws ClientProtocolException, IOException {
// 创建CloseableHttpClient对象
CloseableHttpClient httpclient = HttpClients.createDefault();
// 创建HttpPost对象
HttpPost httpPost = new HttpPost("http://localhost:8083/postdemo2");
// 创建集合对象,添加参数
Mapmaps = new HashMap();
maps.put("username", "admin");
maps.put("password", "123456");
// 创建参数队列
ListnameValuePairs = new ArrayList();
for (String key : maps.keySet()) {
nameValuePairs.add(new BasicNameValuePair(key, maps.get(key)));
}
httpPost.setEntity(new UrlEncodedFormEntity(nameValuePairs, "UTF-8"));
// 执行Post请求
CloseableHttpResponse response = httpclient.execute(httpPost);
// 获取响应状态
System.out.println("获取响应状态: " + response.getStatusLine().getStatusCode());
// 获取返回实体
HttpEntity entity = response.getEntity();
// 获取网页源码
System.out.println("获取网页源码:" + EntityUtils.toString(entity, "utf-8"));
// 获取响应内容类型
System.out.println("获取响应内容类型:" + entity.getContentType().getValue());
// 关闭流和释放系统资源
response.close();
// 关闭客户端
httpclient.close();
}
}
2、运行结果:
本文分享自 AllTests软件测试 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!