03_HttpClient_Post请求
【实例1.最最最简洁的POST请求】
@Test
public void test1() throws Exception{
//1.创建Htpclient实例(可关闭 Closeable)
CloseableHttpClient httpClient =HttpClients.createDefault(); //2.创建一个HTTP POST请求的HttpPost实例
HttpPost httpPost=new HttpPost("http://www.baidu.com"); //3.执行请求,获得响应的实例
CloseableHttpResponse response=httpClient.execute(httpPost); response.close();
httpClient.close();
}
【实例2.带Entity的Post请求】
@Test
public void test2() throws Exception{
//1.创建Htpclient实例(可关闭 Closeable)
CloseableHttpClient httpClient =HttpClients.createDefault(); //2.创建一个HTTP POST请求的HttpPost实例
HttpPost httpPost=new HttpPost("http://www.baidu.com"); //设置POST请求的参数
List<NameValuePair> params=new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("startDate", "2016-02-10"));
params.add(new BasicNameValuePair("endDate", "2016-07-04"));
HttpEntity urlEntity=new UrlEncodedFormEntity(params,"UTF-8");
//添加参数至Post请求中
httpPost.setEntity(urlEntity); //3.执行请求,获得响应的实例
CloseableHttpResponse response=httpClient.execute(httpPost); response.close();
httpClient.close();
}
【实例3.设置代理使用Fiddler抓取对应的Entity】
@Test
public void testRequestConfigPost() throws ClientProtocolException, IOException{
CloseableHttpClient httpclient=HttpClients.createDefault(); HttpPost httpPost=new HttpPost("http://www.baidu.com"); /**设置请求和传输的超时时间**/
RequestConfig.Builder builder=RequestConfig.custom()
.setConnectionRequestTimeout()
.setConnectTimeout()
.setSocketTimeout();
String proxy="127.0.0.1:8888";
builder.setProxy(HttpHost.create(proxy)); //设置代理
RequestConfig requestConfig=builder.build(); httpPost.setConfig(requestConfig); //将配置requestConfig设置到HttpGet请求中 //设置POST请求的参数
List<NameValuePair> params=new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("startDate", "2016-02-10"));
params.add(new BasicNameValuePair("endDate", "2016-07-04"));
HttpEntity urlEntity=new UrlEncodedFormEntity(params,"UTF-8");
//添加参数至Post请求中
httpPost.setEntity(urlEntity); CloseableHttpResponse response=httpclient.execute(httpPost); response.close();
httpclient.close();
}
[ 使用Fiddler抓取结果 ]

03_HttpClient_Post请求的更多相关文章
- Angular2入门系列教程7-HTTP(一)-使用Angular2自带的http进行网络请求
上一篇:Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数 感觉这篇不是很好写,因为涉及到网络请求,如果采用真实的网络请求,这个例子大家拿到手估计还要自己写一个web ...
- Android请求网络共通类——Hi_博客 Android App 开发笔记
今天 ,来分享一下 ,一个博客App的开发过程,以前也没开发过这种类型App 的经验,求大神们轻点喷. 首先我们要创建一个Andriod 项目 因为要从网络请求数据所以我们先来一个请求网络的共通类. ...
- 重温Http协议--请求报文和响应报文
http协议是位于应用层的协议,我们在日常浏览网页比如在导航网站请求百度首页的时候,会先通过http协议把请求做一个类似于编码的工作,发送给百度的服务器,然后在百度服务器响应请求时把相应的内容再通过h ...
- Taurus.MVC 2.2 开源发布:WebAPI 功能增强(请求跨域及Json转换)
背景: 1:有用户反馈了关于跨域请求的问题. 2:有用户反馈了参数获取的问题. 3:JsonHelper的增强. 在综合上面的条件下,有了2.2版本的更新,也因此写了此文. 开源地址: https:/ ...
- nodejs之get/post请求的几种方式
最近一段时间在学习前端向服务器发送数据和请求数据,下面总结了一下向服务器发送请求用get和post的几种不同请求方式: 1.用form表单的方法:(1)get方法 前端代码: <form act ...
- ajax异步请求
做前端开发的朋友对于ajax异步更新一定印象深刻,作为刚入坑的小白,今天就和大家一起聊聊关于ajax异步请求的那点事.既然是ajax就少不了jQuery的知识,推荐大家访问www.w3school.c ...
- C# MVC 5 - 生命周期(应用程序生命周期&请求生命周期)
本文是根据网上的文章总结的. 1.介绍 本文讨论ASP.Net MVC框架MVC的请求生命周期. MVC有两个生命周期,一为应用程序生命周期,二为请求生命周期. 2.应用程序生命周期 应用程序生命周期 ...
- nodejs进阶(5)—接收请求参数
1. get请求参数接收 我们简单举一个需要接收参数的例子 如果有个查找功能,查找关键词需要从url里接收,http://localhost:8000/search?keyword=地球.通过前面的进 ...
- 无法向会话状态服务器发出会话状态请求。请确保 ASP.NET State Service (ASP.NET 状态服务)已启动,并且客户端端口与服务器端口相同。如果服务器位于远程计算机上,请检查。。。
异常处理汇总-服 务 器 http://www.cnblogs.com/dunitian/p/4522983.html 无法向会话状态服务器发出会话状态请求.请确保 ASP.NET State Ser ...
随机推荐
- 了解CSS/CSS3原生变量var
一.变量是个好东西 在任何语言中,变量的有一点作用都是一样的,那就是可以降低维护成本,附带还有更高性能,文件更高压缩率的好处. 随着CSS预编译工具Sass/Less/Stylus的关注和逐渐流行,C ...
- android studio简易了解第二部分
1.新建Moudle(eclispe的项目) 其余的和eclipse差不多,一般情况一直next就可以了! 如果选择New Project会重新打开一个AS.一个AS只会有一个Project(ecli ...
- 教你50招提升ASP.NET性能(五):确保分页是在数据层完成的
(11)Make sure paging is conducted at the database layer 招数11: 确保分页是在数据层完成的 When using grid UI contro ...
- Codeforces Round #324 (Div. 2) A. Olesya and Rodion 水题
A. Olesya and Rodion Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/584/p ...
- CentOS安装Nginx安装详解
一.准备工作,安装依赖包,缺一不可!(推荐先用命令查看自己是否已经安装一下软件,确认没有再安装) --------------------------------------------------- ...
- GridView拖动效果实现
GridView拖动效果实现 1. 重新GridView控件 package com.whbs.drag.widget; import com.whbs.drag.DragGridActivit ...
- Oracle读取和修改数据块的过程 专家
http://blog.itpub.net/18841027/viewspace-1649618/
- 傲娇Android二三事之操蛋的开发日记(第一回)
武宗元年 十一月初四 霾 今日魔都,依旧仙雾环绕,仿佛蓬莱落凡尘.望着470这个鲜红的AQI修仙指数,贫道不禁吟道,“正是修仙好光景,雾霾时节又逢君”.但在这个只修bug,不修仙的时代,路上的行人都步 ...
- c语言—临界资源管理
临界区管理的基本原则是: ①如果有若干进程要求进入空闲的临界区,一次仅允许一个进程进入.②任何时候,处于临界区内的进程不可多于一个.如已有进程进入自己的临界区,则其它所有试图进入临界区的进程必须等待. ...
- truncate和 delete的区别:
1.一个表要删除全部数据如何实现:①delete,②truncate EG:删除a表中的所有数据: CREATE TABLE `b` ( `id` int(11) NOT NULL AUTO_INCR ...