httpClient的 Post发送的请求,用 list的数据类型是NameValuePair来封装表单中数据
Post设置请求参数的 a、b、c三个 步骤
a:声明List集合封装表单参数
b:创建表单的entity对象
c:设定表单独的entity到httpPost请求中
完整代码
/**设置postMan带参数的Post方式请求
* @version 1.0.0
* @program: recuit_gather
* @description:
* @author: zhangdaxu
* @create: 2020-03-13 17:52
*/
public class httpClientPostParam07Test {
@Test
public void getParam() throws URISyntaxException, UnsupportedEncodingException {
System.out.println("设置postMan带参数的Post方式请求");
//1:创建httpClient对象
CloseableHttpClient httpClient = HttpClients.createDefault();
HttpPost httpPost = new HttpPost("http://yun.itheima.com");
System.out.println("http请求信息:"+httpPost); //返回值: http请求信息: GET http://www.itcast.cn HTTP/1.1
//设置请求参数 a、b、c三个 步骤
//a:声明List集合封装表单参数
//b:创建表单的entity对象
//c:设定表单独的entity到httpPost请求中
//a:声明List集合封装表单参数
//声名集合:NameValuepair 是名值对。
List<NameValuePair> parms = new ArrayList<NameValuePair>();
//向集合中添加对象
parms.add(new BasicNameValuePair("keys","Java"));
//b:创建表单的entity对象
//创建表单独的Entity对象,第一个参数是封装好的表单数据,第二个是数据的编码
UrlEncodedFormEntity formEntity= new UrlEncodedFormEntity(parms,"utf8");
//c:设定表单独的entity到httpPost请求中
httpPost.setEntity(formEntity);
// 3:设置请求响应的接收变量,如内容为主及必要信息(host,API,HTTP code,响应code,响应时间等等记录)。
CloseableHttpResponse response=null;
try {
response= httpClient.execute(httpPost);
if(response.getStatusLine().getStatusCode()==200){
//把得到响应的载体内容,传递给变量content
String content = EntityUtils.toString(response.getEntity(), "utf8");
//输出响应内容的长度,暂不输出
System.out.println("响应得到内容长度为:"+content.length());
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
//扩散阅读
定义了一个list,该list的数据类型是NameValuePair(简单名称值对节点类型),这个代码多处用于Java像url发送Post请求。在发送post请求时用该list来存放参数。
发送请求的大致过程如下:
String url="http://www.baidu.com";
HttpPost httppost=new HttpPost(url); //建立HttpPost对象
List<NameValuePair> params=new ArrayList<NameValuePair>();
//建立一个NameValuePair数组,用于存储欲传送的参数
params.add(new BasicNameValuePair("pwd","2544"));
//添加参数
httppost.setEntity(new UrlEncodedFormEntity(params,HTTP.UTF_8));
//设置编码
HttpResponse response=new DefaultHttpClient().execute(httppost);
//发送Post,并返回一个HttpResponse对象
发送请求的大致过程如下:
String url="http://www.baidu.com";
HttpPost httppost=new HttpPost(url); //建立HttpPost对象
List<NameValuePair> params=new ArrayList<NameValuePair>();
//建立一个NameValuePair数组,用于存储欲传送的参数
params.add(new BasicNameValuePair("pwd","2544"));
//添加参数
httppost.setEntity(new UrlEncodedFormEntity(params,HTTP.UTF_8));
//设置编码
HttpResponse response=new DefaultHttpClient().execute(httppost);
//发送Post,并返回一个HttpResponse对象
做产品的程序,才是好的程序员!
分类:
httpClient
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!