博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java 发送https post请求
阅读量:4190 次
发布时间:2019-05-26

本文共 3472 字,大约阅读时间需要 11 分钟。

1、maven配置

org.apache.httpcomponents
httpcore
4.2.1
org.apache.httpcomponents
httpclient
4.2.1

 

2、2个类,直接可用

import java.security.cert.CertificateException;import java.security.cert.X509Certificate; import javax.net.ssl.SSLContext;import javax.net.ssl.TrustManager;import javax.net.ssl.X509TrustManager; import org.apache.http.conn.ClientConnectionManager;import org.apache.http.conn.scheme.Scheme;import org.apache.http.conn.scheme.SchemeRegistry;import org.apache.http.conn.ssl.SSLSocketFactory;import org.apache.http.impl.client.DefaultHttpClient; //用于进行Https请求的HttpClient  public class SSLClient extends DefaultHttpClient {	public SSLClient() throws Exception {		super();		SSLContext ctx = SSLContext.getInstance("TLS");		X509TrustManager tm = new X509TrustManager() {			@Override			public void checkClientTrusted(X509Certificate[] chain,					String authType) throws CertificateException {			} 			@Override			public void checkServerTrusted(X509Certificate[] chain,					String authType) throws CertificateException {			} 			@Override			public X509Certificate[] getAcceptedIssuers() {				return null;			}		};		ctx.init(null, new TrustManager[] { tm }, null);		SSLSocketFactory ssf = new SSLSocketFactory(ctx, SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);		ClientConnectionManager ccm = this.getConnectionManager();		SchemeRegistry sr = ccm.getSchemeRegistry();		sr.register(new Scheme("https", 443, ssf));	}}

 

import java.util.ArrayList;import java.util.Iterator;import java.util.List;import java.util.Map;import java.util.Map.Entry; 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.message.BasicNameValuePair;import org.apache.http.util.EntityUtils; /*  * 利用HttpClient进行post请求的工具类  */public class HttpClientUtil {	public static String doPost(String url, Map
map, String charset) { HttpClient httpClient = null; HttpPost httpPost = null; String result = null; try { httpClient = new SSLClient(); httpPost = new HttpPost(url); // 设置参数 List
list = new ArrayList
(); Iterator iterator = map.entrySet().iterator(); while (iterator.hasNext()) { Entry
elem = (Entry
) iterator .next(); list.add(new BasicNameValuePair(elem.getKey(), elem.getValue())); } if (list.size() > 0) { UrlEncodedFormEntity entity = new UrlEncodedFormEntity(list, charset); //entity.setContentType("application/json"); //httpPost.setHeader("Accept", "application/json"); //httpPost.setHeader("Content-type", "application/json;charset=utf-8"); httpPost.setEntity(entity); } HttpResponse response = httpClient.execute(httpPost); if (response != null) { HttpEntity resEntity = response.getEntity(); if (resEntity != null) { result = EntityUtils.toString(resEntity, charset); } } } catch (Exception ex) { ex.printStackTrace(); } return result; }}

 

3、测试

String urlAsk = "https://localhost:8080/service"; 		String charset = "utf-8";				Map
map = new HashMap<>(); map.put("aaa", "100"); String strResponse = HttpClientUtil.doPost(urlAsk, mapPost, charset);

 

转载地址:http://bgooi.baihongyu.com/

你可能感兴趣的文章
华大基因:新型冠状病毒检测试剂盒日均产能已达8万人份
查看>>
情人节集体撤档,《肥龙过江》改网播,线上首映会成为常态吗?
查看>>
华为P40 Pro相机高清细节图曝光:潜望式长焦镜头抢眼
查看>>
“抢菜大战”背后:生鲜电商的突击大考
查看>>
骁龙865+65W闪充!realme 真我X50 Pro 5G正式全球发布
查看>>
二月手机好评排行榜公布:华为第一,小米10没上榜
查看>>
英特尔展示业界首个一体封装光学以太网交换机
查看>>
年存10W+的年轻人都是怎么攒钱的
查看>>
苹果确认部分iPad Air 3会出现永久性黑屏:可免费维修
查看>>
iPhone 11全球供应紧张:何时补货未知
查看>>
小米40W无线闪充今年商用:MIX 4首发?
查看>>
国产手机卖的越来越贵,是好是坏?
查看>>
拼多多联合三奇医卫等企业,每天上架1000万只平价口罩
查看>>
5000起步没商量!vivo NEX 3S 5G手机正式发布:骁龙865+无界瀑布屏加持
查看>>
二月1500-1999元性价比排行榜:前三都是魅族手机
查看>>
疫情下的“双11”,品牌逆势增长背后的数字化变革
查看>>
支付宝变色了!被绑架了你就眨眨眼?官方如此回应...
查看>>
罗永浩欲直播带货,京东说可以帮忙联系
查看>>
B站,正在变成下一个“公众号”?
查看>>
小米启动安心服务月 手机家电产品可免费清洁保养
查看>>