发送POST请求(HTTP),K-V形式
/**
* 发送POST请求(HTTP),K-V形式
* @param url
* @param params
* @author Charlie.chen
* @return
*/
public
static
String doPost(String url, Map<string, string=
""
> params) {
// 创建默认的HttpClient实例.
CloseableHttpClient httpclient = HttpClients.createDefault();
try
{
// 定义一个get请求方法
HttpPost httppost =
new
HttpPost(url);
// List<namevaluepair> parameters = new ArrayList<namevaluepair>();
// parameters.add(new BasicNameValuePair("username", userName));
// parameters.add(new BasicNameValuePair("password", password));
// 定义post请求的参数
// 建立一个NameValuePair数组,用于存储欲传送的参数
List<namevaluepair> list =
new
ArrayList<namevaluepair>();
Iterator iterator = params.entrySet().iterator();
while
(iterator.hasNext()) {
Entry<string, string=
""
> elem = (Entry<string, string=
""
>) iterator.next();
list.add(
new
BasicNameValuePair(elem.getKey(), elem.getValue()));
}
if
(list.size() >
0
) {
httppost.setEntity(
new
UrlEncodedFormEntity(list,
"utf-8"
));
}
// httppost.setHeader("Content-type","application/json,charset=utf-8");
// httppost.setHeader("Accept", "application/json");
// 执行post请求,返回response服务器响应对象, 其中包含了状态信息和服务器返回的数据
CloseableHttpResponse httpResponse = httpclient.execute(httppost);
// 使用响应对象, 获得状态码, 处理内容
int
statusCode = httpResponse.getStatusLine().getStatusCode();
if
(statusCode ==
200
) {
// 使用响应对象获取响应实体
HttpEntity entity = httpResponse.getEntity();
// 将响应实体转为字符串
String response = EntityUtils.toString(entity,
"utf-8"
);
return
response;
}
else
{
// log.error("访问失败"+statusCode);
}
}
catch
(Exception e) {
e.printStackTrace();
}
finally
{
try
{
// 关闭连接, 和释放资源
httpclient.close();
}
catch
(IOException e) {
e.printStackTrace();
}
}
return
null
;
}
发送POST请求(HTTP),K-V形式的更多相关文章
- PHP发送POST请求
方式一:cURL $url = "localhost/test/post/service.php"; $data = array("a"=>"网 ...
- 【Golang 接口自动化01】使用标准库net/http发送Get请求
发送Get请求 使用Golang发送get请求很容易,我们还是使用http://httpbin.org作为服务端来进行演示. package main import ( "bytes&quo ...
- PHP的3种发送HTTP请求的方式
1.CURL方式发送数据及上传文件 <?php class IndexController extends ControllerBase { public function indexActio ...
- Android系列之网络(一)----使用HttpClient发送HTTP请求(通过get方法获取数据)
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- 关于时间序列数据库的思考——(1)运用hash文件(例如:RRD,Whisper) (2)运用LSM树来备份(例如:LevelDB,RocksDB,Cassandra) (3)运用B-树排序和k/v存储(例如:BoltDB,LMDB)
转自:http://0351slc.com/portal.php?mod=view&aid=12 近期网络上呈现了有关catena.benchmarking boltdb等时刻序列存储办法的介 ...
- 前端javascript发送ajax请求、后台书写function小案例
HTML端页面: <td> <input class="pp_text" type="text" name="" valu ...
- 编写爬虫(spider)的预备知识:用java发送HTTP请求
使用原生API来发送http请求,而不是使用apache的库,原因在于这个第三方库变化实在太快了,每个版本都有不小的变化.对于程序员来说,使用它反而会有很多麻烦,比如自己曾经写过的代码将无法复用. 原 ...
- (一)----使用HttpClient发送HTTP请求(通过get方法获取数据)
(一)----使用HttpClient发送HTTP请求(通过get方法获取数据) 一.HTTP协议初探: HTTP(Hypertext Transfer Protocol)中文 “超文本传输协议”,是 ...
- Firefox使用Poster插件发送post请求
目的:验证http请求功能正确与否,需要发送post,get请求,则可以使用Poster插件方便简单. 自我总结,有什么改正的地方请指出,感激不尽! 1.安装Poster插件. 点击firefox右上 ...
随机推荐
- 百度云管家使用socks代理无法上传下载解决办法
像前几篇随笔描述的那样,笔者在学校里通过shadowsocks使用ipv6访问双栈vps来免费使用外网,但是在设置百度云管家的代理时发现:使用socks代理客户端可以访问文件列表,但是无法上传下载. ...
- C++基本面试题1
#include<iostream>using namespace std;class A{public: A(char* s) :name(s), len(strlen(name.c_s ...
- 安装Windows11操作系统(不需要绕过TPM检测脚本等) - 初学者系列 - 学习者系列文章
Windows11操作系统是去年微软公司的最新力作.对于该操作系统的安装,网上有很多的教程了.这次主要写的是不需要绕过TPM检测操作安装Windows11操作系统. 1. 制作启动U盘: ...
- 在EntityFrameworkCore中记录EF修改日志,保存,修改字段的原始值,当前值,表名等信息
突发奇想,想把业务修改的所有字段原始值和修改后的值,做一个记录,然后发现使用EF可以非常简单的实现这个功能 覆盖父类中的 SaveShanges() 方法 public new int SaveCha ...
- Pycharm新建文件时头部模板的配置方法
方法
- react 局部更新的关键算法 DOM diff算法
下图是diff算法结构的详细解析: 要点总结:DIFF算法在执行时有三个维度,分别是Tree DIFF.Component DIFF和Element DIFF,执行时按顺序依次执行,它们的差异仅仅因为 ...
- 封装jar问题java.lang.SecurityException: Invalid signature file digest for Manifest main attributes以及maven依赖重提解决
1.jar包封装完成后,其他项目引用jar,启动时报错java.lang.SecurityException: Invalid signature file digest for Manifest m ...
- SpringBeanUtils的部分方法类
原创:转载需注明原创地址 https://www.cnblogs.com/fanerwei222/p/12060553.html SpringBeanUtils的部分方法类: import java. ...
- Java注解和注解处理器使用方法
原创:转载需注明原创地址 https://www.cnblogs.com/fanerwei222/p/11492274.html 准备材料: 实体类: PrintDemo 注解类: PrintName ...
- JWT+ASP.NET Core集成方案
JWT JSON Web Token 经过数字签名后,无法伪造,一个能够在各方之间安全的传输JSON对象的开放标准(RFC 7519) 参考前文 [翻译]Introduction to JSON We ...