增加一个类
3
import java.io.IOException;
4
import java.net.InetAddress;
5
import java.net.InetSocketAddress;
6
import java.net.Socket;
7
import java.net.SocketAddress;
8
import java.net.UnknownHostException;
9
import java.security.KeyManagementException;
10
import java.security.NoSuchAlgorithmException;
11
import java.security.cert.CertificateException;
12
import java.security.cert.X509Certificate;
13![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
14
import javax.net.SocketFactory;
15
import javax.net.ssl.SSLContext;
16
import javax.net.ssl.TrustManager;
17
import javax.net.ssl.X509TrustManager;
18![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
19
import org.apache.commons.httpclient.ConnectTimeoutException;
20
import org.apache.commons.httpclient.params.HttpConnectionParams;
21
import org.apache.commons.httpclient.protocol.SecureProtocolSocketFactory;
22![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
23
public class MySSLSocketFactory implements SecureProtocolSocketFactory {
24
static{
25
System.out.println("loading SSL
");
26
}
27
private SSLContext sslcontext = null;
28
29
private SSLContext createSSLContext() {
30
SSLContext sslcontext=null;
31
try {
32
sslcontext = SSLContext.getInstance("SSL");
33
sslcontext.init(null, new TrustManager[]{new TrustAnyTrustManager()}, new java.security.SecureRandom());
34
} catch (NoSuchAlgorithmException e) {
35
e.printStackTrace();
36
} catch (KeyManagementException e) {
37
e.printStackTrace();
38
}
39
return sslcontext;
40
}
41
42
private SSLContext getSSLContext() {
43
if (this.sslcontext == null) {
44
this.sslcontext = createSSLContext();
45
}
46
return this.sslcontext;
47
}
48
49
public Socket createSocket(Socket socket, String host, int port, boolean autoClose)
50
throws IOException, UnknownHostException {
51
return getSSLContext().getSocketFactory().createSocket(
52
socket,
53
host,
54
port,
55
autoClose
56
);
57
}
58![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
59
public Socket createSocket(String host, int port) throws IOException,
60
UnknownHostException {
61
return getSSLContext().getSocketFactory().createSocket(
62
host,
63
port
64
);
65
}
66
67
68
public Socket createSocket(String host, int port, InetAddress clientHost, int clientPort)
69
throws IOException, UnknownHostException {
70
return getSSLContext().getSocketFactory().createSocket(host, port, clientHost, clientPort);
71
}
72![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
73
public Socket createSocket(String host, int port, InetAddress localAddress,
74
int localPort, HttpConnectionParams params) throws IOException,
75
UnknownHostException, ConnectTimeoutException {
76
if (params == null) {
77
throw new IllegalArgumentException("Parameters may not be null");
78
}
79
int timeout = params.getConnectionTimeout();
80
SocketFactory socketfactory = getSSLContext().getSocketFactory();
81
if (timeout == 0) {
82
return socketfactory.createSocket(host, port, localAddress, localPort);
83
} else {
84
Socket socket = socketfactory.createSocket();
85
SocketAddress localaddr = new InetSocketAddress(localAddress, localPort);
86
SocketAddress remoteaddr = new InetSocketAddress(host, port);
87
socket.bind(localaddr);
88
socket.connect(remoteaddr, timeout);
89
return socket;
90
}
91
}
92
93
//自定义私有类
94
private static class TrustAnyTrustManager implements X509TrustManager {
95
public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {
96
}
97
public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {
98
}
99
public X509Certificate[] getAcceptedIssuers() {
100
return new X509Certificate[]{};
101
}
102
}
103![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
104
}
105![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
4
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
5
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
6
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
7
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
8
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
9
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
10
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
11
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
12
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
13
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
14
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
15
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
16
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
17
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
18
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
19
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
20
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
21
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
22
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
23
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
24
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
25
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/dot.gif)
26
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
27
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
28
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
29
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
30
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
31
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
32
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
33
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
34
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
35
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
36
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
37
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
38
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
39
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
40
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
41
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
42
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
43
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
44
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
45
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
46
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
47
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
48
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
49
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
50
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
51
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
52
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
53
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
54
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
55
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
56
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
57
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
58
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
59
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
60
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
61
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
62
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
63
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
64
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
65
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
66
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
67
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
68
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
69
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
70
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
71
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
72
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
73
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
74
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
75
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
76
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
77
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
78
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
79
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
80
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
81
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
82
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
83
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
84
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
85
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
86
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
87
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
88
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
89
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
90
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
91
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
92
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
93
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
94
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
95
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
96
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
97
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
98
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
99
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
100
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
101
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
102
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
103
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
104
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
105
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
调用即可
if(postUrl.startsWith("https://"))
{
//注册https
Protocol myhttps = new Protocol("https", new MySSLSocketFactory (), 443);
Protocol.registerProtocol("https", myhttps);
}
HttpClient httpClient = new HttpClient();
httpClient.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET, charset);