hxh372044716
httpclient 包的https協(xié)議使用
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));
}
新建一個類訪問發(fā)送POST方法處理
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
String doPost(String url,Map<String,String> map,String charset){
HttpClient httpClient =
null
;
HttpPost httpPost =
null
;
String result =
null
;
try
{
httpClient =
new
SSLClient();
httpPost =
new
HttpPost(url);
//設(shè)置參數(shù)
List<NameValuePair> list =
new
ArrayList<NameValuePair>();
Iterator iterator = map.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
){
UrlEncodedFormEntity entity =
new
UrlEncodedFormEntity(list,charset);
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;
}
}
}
posted on 2016-03-31 17:55
花少
閱讀(187)
評論(0)
編輯
收藏
新用戶注冊
刷新評論列表
只有注冊用戶
登錄
后才能發(fā)表評論。
網(wǎng)站導(dǎo)航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
Powered by:
BlogJava
Copyright © 花少
導(dǎo)航
BlogJava
首頁
新隨筆
聯(lián)系
聚合
管理
<
2016年3月
>
日
一
二
三
四
五
六
28
29
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
統(tǒng)計
隨筆 - 2
文章 - 0
評論 - 0
引用 - 0
常用鏈接
我的隨筆
我的評論
我的參與
留言簿
給我留言
查看公開留言
查看私人留言
隨筆檔案
2016年3月 (2)
搜索
最新評論
閱讀排行榜
1.?maven+spring+tomcat搭建框架(236)
2.?httpclient 包的https協(xié)議使用(187)
評論排行榜
1.?httpclient 包的https協(xié)議使用(0)
2.?maven+spring+tomcat搭建框架(0)
主站蜘蛛池模板:
遵义市
|
泉州市
|
嘉祥县
|
乌恰县
|
鹤峰县
|
万全县
|
万宁市
|
鄂托克前旗
|
察哈
|
上高县
|
汕尾市
|
英吉沙县
|
马公市
|
建昌县
|
南丰县
|
郎溪县
|
滨州市
|
宿迁市
|
扬州市
|
建昌县
|
阿克苏市
|
屏东市
|
盐亭县
|
海阳市
|
昌图县
|
乐山市
|
文登市
|
曲周县
|
格尔木市
|
山阳县
|
方正县
|
泸西县
|
巢湖市
|
英德市
|
广河县
|
辉南县
|
长沙市
|
澄城县
|
花莲市
|
三江
|
阳原县
|