hxh372044716
httpclient 包的https協議使用
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));
}
新建一個類訪問發送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);
//設置參數
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)
編輯
收藏
新用戶注冊
刷新評論列表
只有注冊用戶
登錄
后才能發表評論。
網站導航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
Powered by:
BlogJava
Copyright © 花少
導航
BlogJava
首頁
新隨筆
聯系
聚合
管理
<
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
統計
隨筆 - 2
文章 - 0
評論 - 0
引用 - 0
常用鏈接
我的隨筆
我的評論
我的參與
留言簿
給我留言
查看公開留言
查看私人留言
隨筆檔案
2016年3月 (2)
搜索
最新評論
閱讀排行榜
1.?maven+spring+tomcat搭建框架(236)
2.?httpclient 包的https協議使用(187)
評論排行榜
1.?httpclient 包的https協議使用(0)
2.?maven+spring+tomcat搭建框架(0)
主站蜘蛛池模板:
博湖县
|
连南
|
青神县
|
清徐县
|
延庆县
|
民丰县
|
枞阳县
|
板桥市
|
正镶白旗
|
广安市
|
德格县
|
牡丹江市
|
全椒县
|
宁乡县
|
乃东县
|
九寨沟县
|
开阳县
|
新余市
|
平泉县
|
四平市
|
平乡县
|
潞西市
|
蓬莱市
|
黑山县
|
弥勒县
|
延寿县
|
思茅市
|
太仆寺旗
|
台南县
|
资源县
|
梨树县
|
得荣县
|
柳河县
|
弋阳县
|
三原县
|
佛坪县
|
山西省
|
西乌珠穆沁旗
|
阳原县
|
武安市
|
茌平县
|