【实例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请求的更多相关文章

  1. Angular2入门系列教程7-HTTP(一)-使用Angular2自带的http进行网络请求

    上一篇:Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数 感觉这篇不是很好写,因为涉及到网络请求,如果采用真实的网络请求,这个例子大家拿到手估计还要自己写一个web ...

  2. Android请求网络共通类——Hi_博客 Android App 开发笔记

    今天 ,来分享一下 ,一个博客App的开发过程,以前也没开发过这种类型App 的经验,求大神们轻点喷. 首先我们要创建一个Andriod 项目 因为要从网络请求数据所以我们先来一个请求网络的共通类. ...

  3. 重温Http协议--请求报文和响应报文

    http协议是位于应用层的协议,我们在日常浏览网页比如在导航网站请求百度首页的时候,会先通过http协议把请求做一个类似于编码的工作,发送给百度的服务器,然后在百度服务器响应请求时把相应的内容再通过h ...

  4. Taurus.MVC 2.2 开源发布:WebAPI 功能增强(请求跨域及Json转换)

    背景: 1:有用户反馈了关于跨域请求的问题. 2:有用户反馈了参数获取的问题. 3:JsonHelper的增强. 在综合上面的条件下,有了2.2版本的更新,也因此写了此文. 开源地址: https:/ ...

  5. nodejs之get/post请求的几种方式

    最近一段时间在学习前端向服务器发送数据和请求数据,下面总结了一下向服务器发送请求用get和post的几种不同请求方式: 1.用form表单的方法:(1)get方法 前端代码: <form act ...

  6. ajax异步请求

    做前端开发的朋友对于ajax异步更新一定印象深刻,作为刚入坑的小白,今天就和大家一起聊聊关于ajax异步请求的那点事.既然是ajax就少不了jQuery的知识,推荐大家访问www.w3school.c ...

  7. C# MVC 5 - 生命周期(应用程序生命周期&请求生命周期)

    本文是根据网上的文章总结的. 1.介绍 本文讨论ASP.Net MVC框架MVC的请求生命周期. MVC有两个生命周期,一为应用程序生命周期,二为请求生命周期. 2.应用程序生命周期 应用程序生命周期 ...

  8. nodejs进阶(5)—接收请求参数

    1. get请求参数接收 我们简单举一个需要接收参数的例子 如果有个查找功能,查找关键词需要从url里接收,http://localhost:8000/search?keyword=地球.通过前面的进 ...

  9. 无法向会话状态服务器发出会话状态请求。请确保 ASP.NET State Service (ASP.NET 状态服务)已启动,并且客户端端口与服务器端口相同。如果服务器位于远程计算机上,请检查。。。

    异常处理汇总-服 务 器 http://www.cnblogs.com/dunitian/p/4522983.html 无法向会话状态服务器发出会话状态请求.请确保 ASP.NET State Ser ...

随机推荐

  1. 【3D研发笔记】之【数学相关】(一):坐标系

    现在开始学习3D基础相关的知识,本系列的数学相关笔记是基于阅读书籍<3D数学基础:图形与游戏开发>而来,实现代码使用AS3,项目地址是:https://github.com/hammerc ...

  2. .NET解析HTML库集合

    CsQuery AngleSharp Jumony HtmlAgilityPack Fizzler ScrapySharp NSoup

  3. Ubuntu下非常给力的下载工具

    Windows下的下载工具--迅雷,之所以下载速度快,乃是它能搜索资源.为己所用,而不是仅仅从原始地址这单一资源处下载. Ubuntu下也有类似的工具,那就是aira2. aira2是一个命令行下载工 ...

  4. iOS中添加UITapGestureRecognizer手势识别后,UITableView的didSelectRowAtIndexPath失效

    ViewDidLoad中注册手势的部分代码如下: [cpp] view plaincopy UITapGestureRecognizer *oneTap = [[[UITapGestureRecogn ...

  5. OpenCV 显示Mat矩阵异常 显示“程序停止工作” 解决办法

    笔者调试OpenCV 程序时,在使用标准输出显示Mat矩阵时,编译没有错误,但每次运行都弹出程序停止工作的对话框.google之,得到解决方案. 程序如下: #include <iostream ...

  6. forward_list例子

    9.28 编写函数,接受一个forward_list<string>和两个string共三个参数.函数应在链表中查找第一个string,并将第二个string插入到紧接着第一个string ...

  7. linux中的工具

    远程连接linux的工具: 命令行: SecureCRT   putty  XShell(商业环境付费) 图形界面:WinSCP SecureFX 远程连接window服务器工具: FileZilla ...

  8. Mini2440 DM9000 驱动分析(一)

    Mini2440 DM9000 驱动分析(一) 硬件特性 Mini2440开发板上DM9000的电气连接和Mach-mini2440.c文件的关系: PW_RST 连接到复位按键,复位按键按下,低电平 ...

  9. android开发之路01

    一.android系统被分为4个层次:1.最下层的是linux核心,包括多个驱动程序,提供了操作系统应该具备的核心功能:2.在linux核心之上,包括两个部分,一部分是Android Runtime( ...

  10. ajax数据保存及解析

    1.   $('#frmCam').serialize():serialize() 方法通过序列化表单值,创建 URL 编码文本字符串. 2.自动对应ID和值 window.camConfig = [ ...