博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
http使用代理
阅读量:2385 次
发布时间:2019-05-10

本文共 2918 字,大约阅读时间需要 9 分钟。

 

 

直接上代码:

HttpUrlConnection使用代理:

private static HttpURLConnection getConnection(URL url, String method, String ctype)            throws IOException {        HttpURLConnection conn;        if (hasProxy) {            Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress(proxyHost, proxyPort));            conn = (HttpURLConnection)url.openConnection(proxy);        } else {            conn = (HttpURLConnection) url.openConnection();        }        conn.setDoInput(true);        conn.setDoOutput(true);        conn.setRequestMethod(method);        conn.setRequestProperty("Content-Type", "application/json");        conn.setRequestProperty("Connection", "Keep-Alive");        return conn;    }

https:

private static HttpsURLConnection getConnectionHttps(URL url, String method, String ctype)            throws IOException {        SSLContext sslContext = null;        try {            sslContext = SSLContext.getInstance("TLS"); // 或SSL            X509TrustManager[] xtmArray = new X509TrustManager[]{
new myX509TrustManager()}; sslContext.init(null, xtmArray, new java.security.SecureRandom()); } catch (GeneralSecurityException e) { e.printStackTrace(); } if (sslContext != null) { HttpsURLConnection.setDefaultSSLSocketFactory(sslContext.getSocketFactory()); } HttpsURLConnection.setDefaultHostnameVerifier(new myHostnameVerifier()); HttpsURLConnection conn; if (hasProxy) { Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress(proxyHost, proxyPort)); conn = (HttpsURLConnection)url.openConnection(proxy); } else { conn = (HttpsURLConnection) url.openConnection(); } conn.setDoInput(true); conn.setDoOutput(true); conn.setRequestMethod(method); conn.setRequestProperty("Content-Type", ctype); conn.setRequestProperty("Connection", "Keep-Alive"); return conn; }

httpClent:

RequestConfig requestConfig = null;            if(StringUtil.isEmpty(proxyHost)){                requestConfig = RequestConfig.custom()                        .setSocketTimeout(connectTimeout)                        .setConnectTimeout(connectTimeout)                        .build();            }else{    //代理                HttpHost proxy = new HttpHost(proxyHost,proxyPort);                requestConfig = RequestConfig.custom()                        .setProxy(proxy)                        .setSocketTimeout(connectTimeout)                        .setConnectTimeout(connectTimeout)                        .build();            }

共同代码:

private static String proxyHost;    private static int proxyPort;    private static boolean hasProxy = false;    public void setProxy(String proxyHost,int proxyPort) {        this.proxyHost = proxyHost;        this.proxyPort = proxyPort;        hasProxy = true;    }

 

posted @
2018-01-18 09:43 阅读(
...) 评论(
...)

转载地址:http://recab.baihongyu.com/

你可能感兴趣的文章
Linux Cgroups概述
查看>>
centos7 硬盘性能测试
查看>>
cgroup使用--cpu资源限制
查看>>
cgroup使用--memory资源限制
查看>>
Redis 单机环境搭建
查看>>
elasticsearch 单机环境搭建
查看>>
spark 独立模式部署
查看>>
Redis 基础命令 --- String篇
查看>>
Redis 基础命令 --- Hash篇
查看>>
Redis 基础命令 --- List篇
查看>>
Redis 基础命令 --- Set篇
查看>>
Redis数据库篇 -- 生存时间
查看>>
面向对象设计基本原则
查看>>
Redis数据库篇 -- 事务
查看>>
hadoop 完全分布式环境搭建
查看>>
HDFS 回收站
查看>>
hadoop 完全分布式HA高可用集群(手工切换)搭建
查看>>
hadoop 完全分布式HA高可用集群(自动切换)搭建
查看>>
Hbase shell常见命令
查看>>
看看这同一句sql,scan index占用的资源大了很多!!
查看>>