发送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右上 ...
随机推荐
- Autofac实现拦截器和切面编程
Autofac.Annotation框架是我用.netcore写的一个注解式DI框架,基于Autofac参考 Spring注解方式所有容器的注册和装配,切面,拦截器等都是依赖标签来完成. 开源地址:h ...
- gin中的文件上传
1. 单文件上传 package main import ( "fmt" "github.com/gin-gonic/gin" "log" ...
- 线程终止的四种方式,interrupt 方法使用的简单介绍。
一 正常结束. package com.aaa.threaddemo; /* 一 终止线程的四种方式? * 程序运行结束,线程终止. * */ public class ThreadTerminati ...
- ApacheCN PythonWeb 译文集 20211110 更新
Django By Example 中文版 1 创建一个博客应用 2 为博客添加高级功能 3 扩展你的博客应用 4 创建一个社交网站 5 分享内容到你的网站 6 跟踪用户动作 7 构建在线商店 8 管 ...
- Programiz 中文系列教程·翻译完成
原文:Programiz 协议:CC BY-NC-SA 4.0 欢迎任何人参与和完善:一个人可以走的很快,但是一群人却可以走的更远. 在线阅读 ApacheCN 学习资源 目录 Programiz C ...
- CodeForces 摆烂寄录
按订正顺序排序 现在是乱排的了 完整代码占版面 所以只放 AC 记录链接 Good Bye 2021: 2022 is NEAR 这场打得真拉/tuu A. 简单签到 开场就读错题,浪费 5min / ...
- docker构建镜像 (3)
使用Dockerfile构建镜像 Dockerfile使用DSL(Domain Specific Language)来构建一个Docker镜像,只要编辑好了Dockerfile文件,就可以使用dock ...
- Android生成xml
XmlSerializer //使用XmlSerializer来序列化xml文件 public static boolean backupSms_android(Context con ...
- laravel中observe不能监听到updated事件原因
//这种方式不行Student::where('id', $request->student_id)->update($student); $findStudent = Student:: ...
- PHP版的猴子选大王算法
猴子选大王 这个算法可能是目前我看到的最简洁都算法吧,而且很好理解.它不同于其他算法,其他算法都是判断这个猴子能不能被选中,而他只是找出不能被选中的猴子,然后将其塞到数组模拟的环状队列中,参与下次选. ...