java 程序使用 charless抓包

设置代理不同的 httpclient 设置方式不同

okhttp3.OkHttpClient

 Map<String, Object> resultMap = new HashMap<>();
     OkHttpClient client = new OkHttpClient();
     System.setProperty("http.proxyHost", "127.0.0.1");
     System.setProperty("https.proxyHost", "127.0.0.1");
     System.setProperty("http.proxyPort", "8888");
     System.setProperty("https.proxyPort", "8888");
     FormBody.Builder builder = new FormBody.Builder();
     for (String s : paramMap.keySet()) {
       builder.add(s, String.valueOf(paramMap.get(s)));
     }
     logger.info("url: {}", url);
     Request.Builder builder2 = new Request.Builder();

org.apache.http.client

 public static CloseableHttpClient wrapClient(String host) throws NoSuchAlgorithmException, KeyManagementException {
        SSLConnectionSocketFactory socketFactory = null;
        if (host.startsWith("https://")) {
            socketFactory = sslClientNew();
        }
        HttpHost proxy = new HttpHost("127.0.0.1", 8888);
        return HttpClients.custom()
                .setSSLSocketFactory(socketFactory)
                .setDefaultRequestConfig(getConfig())
                .setProxy(proxy)
                .build();
    }
posted @ 2023-12-07 11:58  vx_guanchaoguo0  阅读(62)  评论(0编辑  收藏  举报