在android中发出https请求时避免HTTPCLIENT的SSL证书
我使用SSL套接字工厂类在Android中发出HTTPS请求。有没有办法避免HTTPCLIENT请求中的SSL过程?这是我的SSL类在android中发出https请求时避免HTTPCLIENT的SSL证书,android,android-networking,androidhttpclient,Android,Android Networking,Androidhttpclient,我使用SSL套接字工厂类在Android中发出HTTPS请求。有没有办法避免HTTPCLIENT请求中的SSL过程?这是我的SSL类 public class MySSLSocketFactory extends SSLSocketFactory { SSLContext sslContext = SSLContext.getInstance("TLS"); public MySSLSocketFactory(KeyStore truststore) throws NoSuc
public class MySSLSocketFactory extends SSLSocketFactory {
SSLContext sslContext = SSLContext.getInstance("TLS");
public MySSLSocketFactory(KeyStore truststore) throws NoSuchAlgorithmException, KeyManagementException, KeyStoreException, UnrecoverableKeyException {
super(truststore);
TrustManager tm = new X509TrustManager() {
public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {
}
public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {
}
public X509Certificate[] getAcceptedIssuers() {
return null;
}
};
sslContext.init(null, new TrustManager[] { tm }, null);
}
@Override
public Socket createSocket(Socket socket, String host, int port, boolean autoClose) throws IOException, UnknownHostException {
return sslContext.getSocketFactory().createSocket(socket, host, port, autoClose);
}
@Override
public Socket createSocket() throws IOException {
return sslContext.getSocketFactory().createSocket();
}
}
不清楚你想要完成什么。如果,听起来,你问你是否可以不使用SSL进行HTTPS呼叫,那么……不。HTTPS末尾的“S”表示使用SSL。如果是别的,请解释。是的,当我发出https请求时,我需要使用上面的类。但是我不希望每次我提出https请求时我的应用程序都通过这个。例如;在android的HTTPURL连接中,您可以在发出任何https请求时避免其中的ssl进程。我只是想避免在HttpClient中使用SSL。我的建议是使用更高级别的库(有几个库)而不是HttpClient。你不应该在诸如SSLContext之类的低级内容中混日子(除非你真的想这么做)。你说的高级是什么意思?你能和我分享一下吗?改装,截击,好的