
Android
URL url = new URL("http://www.example.com");HttpURLConnection conn = (HttpURLConnection) url.openConnection();conn.setRequestMethod("GET");conn.setRequestProperty("User-Agent", "Mozilla/5.0");// 设置自己的cookieManager对象conn.setcookieManager(new MyCookieManager());在上述代码中,我们创建了一个MyCookieManager类来代替系统默认的cookieManager对象。MyCookieManager类需要实现两个接口:Javax.net.ssl.X509TrustManager和Javax.net.ssl.KeyManager。其中X509TrustManager用于验证服务器证书是否可信,KeyManager用于生成和管理客户端证书。在MyCookieManager类中,我们需要实现这两个接口,并在其中添加自己需要保存的cookie信息。import Javax.net.ssl.X509TrustManager;import Javax.net.ssl.X509TrustStore;import Javax.net.ssl.X509TrustStoreBuilder;import Java.io.BufferedReader;import Java.io.InputStreamReader;import Java.security.InvalidKeyException;import Java.security.KeyManagementException;import Java.security.KeyStore;import Java.security.NoSuchALGorithmException;import Java.security.PrivateKey;import Java.security.cert.X509Certificate;class MyCookieManager implements X509TrustManager, KeyManagementException { private final KeyStore keyStore; private final String keyStorePassword; public MyCookieManager(String keyStorePassword) { try { // Load server certificate into key store X509Certificate[] certChAIn = {new MyCertificate("www.example.com", "MYPERMKEY")}; keyStore = KeyStore.getInstance("JKS"); keyStore.load(new char[0], certChAIn); keyStorePassword = "changeMe"; } catch (NoSuchALGorithmException | InvalidKeyException | KeyStoreException e) { e.printStackTrace(); } } @Override public void checkClientTrusted(X509Certificate[] x509Certificates, String s) throws CertificateException { } @Override public void checkServerTrusted(X509Certificate[] x509Certificates, String s) throws CertificateException { } @Override public X509Certificate[] getAcceptedIssuers()Copyright © 2025 IZhiDa.com All Rights Reserved.
知答 版权所有 粤ICP备2023042255号