热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

HttpClient的post请求设置请求体

1.maven引入依赖org.apache.httpcomponentshttpclient

1.maven引入依赖

org.apache.httpcomponentshttpclient4.0.2

2.请求示例

package utils;import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Set;/*** http工具类*/
public class HttpUtils {public static String doPost(String url, Map paramsMap) {HttpClient httpClient = new DefaultHttpClient();HttpPost postRequest = new HttpPost();List params = new ArrayList<>();Set paramsNames = paramsMap.keySet();for (String paramsName : paramsNames) {NameValuePair param = new BasicNameValuePair(paramsName, String.valueOf(paramsMap.get(paramsName)));params.add(param);}try {HttpEntity httpEntity = new UrlEncodedFormEntity(params, "UTF-8");postRequest.setURI(new URI(url));postRequest.setEntity(httpEntity);HttpResponse respOnse= httpClient.execute(postRequest);if (response.getStatusLine().getStatusCode() == 200) {HttpEntity resEntity = response.getEntity();return EntityUtils.toString(resEntity, "utf-8");} else {HttpEntity resEntity = response.getEntity();String message = EntityUtils.toString(resEntity, "utf-8");System.out.println(message);}} catch (URISyntaxException | IOException e) {System.out.println("请求异常");e.printStackTrace();}return null;}
}

UrlEncodedFormEntity用来设置请求的参数,参数类型为 List

BasicNameValuePair类的内部实现非常简单,并不是使用的map存储,而是直接在类中声明了两个属性,一个name,一个value



推荐阅读
author-avatar
手机用户2602918323
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有