av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Java HttpClient實(shí)現(xiàn)socks代理的示例代碼

瀏覽:5日期:2022-08-20 16:14:34

HttpClient 實(shí)現(xiàn) socks 代理

使用的環(huán)境

<dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.4.1</version> </dependency> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpcore</artifactId> <version>4.4.1</version> </dependency>

代碼及 ConnectionSocketFactory 實(shí)現(xiàn)類(lèi)

package xxx;import com.lucas.admin.util.HttpClientUtil;import org.apache.http.HttpEntity;import org.apache.http.HttpHost;import org.apache.http.client.methods.CloseableHttpResponse;import org.apache.http.client.methods.HttpGet;import org.apache.http.client.protocol.HttpClientContext;import org.apache.http.config.Registry;import org.apache.http.config.RegistryBuilder;import org.apache.http.conn.socket.ConnectionSocketFactory;import org.apache.http.conn.socket.PlainConnectionSocketFactory;import org.apache.http.conn.ssl.SSLConnectionSocketFactory;import org.apache.http.impl.client.CloseableHttpClient;import org.apache.http.impl.client.HttpClients;import org.apache.http.impl.conn.PoolingHttpClientConnectionManager;import org.apache.http.protocol.HttpContext;import org.apache.http.ssl.SSLContexts;import org.apache.http.util.EntityUtils;import java.io.IOException;import java.net.InetSocketAddress;import java.net.Proxy;import java.net.Socket;/** * @author kzcming * @since 2020/11/19 15:51 */public class Test { public static void main(String[] args) throws Exception { test('https://www.cnblogs.com/'); } public static void test(String url) throws Exception{ // ConnectionSocketFactory注冊(cè) Registry<ConnectionSocketFactory> reg = RegistryBuilder.<ConnectionSocketFactory>create().register('http', new MyConnectionSocketFactory()).register('https',new MySSLConnectionSocketFactory()).build(); // HTTP客戶(hù)端連接管理池 PoolingHttpClientConnectionManager connManager = new PoolingHttpClientConnectionManager(reg); CloseableHttpClient httpclient = HttpClients.custom().setConnectionManager(connManager).build(); try { // socks代理地址 , socks 地址和端口,這里隨便寫(xiě)了一個(gè)1008 InetSocketAddress socksaddr = new InetSocketAddress('你的地址', 1008); HttpClientContext context = HttpClientContext.create(); context.setAttribute('socks.address', socksaddr); // 請(qǐng)求目標(biāo) HttpGet request = new HttpGet(url); System.out.println('----------------------------------------'); System.out.println('執(zhí)行請(qǐng)求 :' + request.getRequestLine()); System.out.println('通過(guò)代理: ' + socksaddr); System.out.println('----------------------------------------'); CloseableHttpResponse response = httpclient.execute(request, context); try {HttpEntity entity = response.getEntity();System.out.println('----------------------------------------');System.out.println('返回響應(yīng):' + response.getStatusLine());System.out.println('響應(yīng)內(nèi)容:' + EntityUtils.toString(entity));System.out.println('----------------------------------------'); } finally {response.close(); } } finally { httpclient.close(); } } /** * 實(shí)現(xiàn) http 鏈接的socket 工廠 */ static class MyConnectionSocketFactory extends PlainConnectionSocketFactory { @Override public Socket createSocket(final HttpContext context) throws IOException { InetSocketAddress socksaddr = (InetSocketAddress) context.getAttribute('socks.address'); // socket代理 Proxy proxy = new Proxy(Proxy.Type.SOCKS, socksaddr); return new Socket(proxy); } } /** * 實(shí)現(xiàn) https 鏈接的socket 工廠 */ static class MySSLConnectionSocketFactory extends SSLConnectionSocketFactory { public MySSLConnectionSocketFactory() { super(SSLContexts.createDefault(), getDefaultHostnameVerifier()); } @Override public Socket createSocket(final HttpContext context) throws IOException { InetSocketAddress socksaddr = (InetSocketAddress) context.getAttribute('socks.address');// // socket代理 Proxy proxy = new Proxy(Proxy.Type.SOCKS, socksaddr); return new Socket(proxy); } }}

以上就是Java HttpClient 實(shí)現(xiàn) socks 代理的示例代碼的詳細(xì)內(nèi)容,更多關(guān)于Java HttpClient 實(shí)現(xiàn) socks 代理的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 日本精品视频在线 | 国产成人区 | 99热播 | 精品久久国产 | 欧美区一区二 | 国产精品99久久久久久久久 | 操综合| 国产精品成人国产乱一区 | 国产伦精品 | 日本一级大毛片a一 | 亚洲成人天堂 | 在线视频亚洲 | 五月婷婷激情综合 | 伊人久久影院 | 免费黄色av | 日韩一区二区在线视频 | 精品九九九 | 张津瑜国内精品www在线 | 噜噜视频 | 国内精品国产成人国产三级 | 国产黄色一区 | 国产在线观看一区 | 欧洲色综合 | 波多野吉衣一二三区乱码 | 天天视频国产 | 欧美视频在线观看一区 | 国 产 黄 色 大 片 | 亚洲一区免费视频 | 日韩欧美在线视频 | 欧美一级免费看 | 人与拘一级a毛片 | 日韩在线视频网站 | 精品亚洲国产成人av制服丝袜 | 午夜精品久久久久久久久久久久 | 日本不卡二区 | 美女视频一区二区 | 久久久亚洲精品视频 | 日本少妇做爰全过程毛片 | 亚洲视频在线看 | 一区二区三区四区精品 | 中文字幕亚洲综合 |