在获得代理IP之后,我们要怎么进行设置对其进行使用呢?黑洞代理下面带来了单次代理的设置教程,大家可以通过这个教程的步骤来进行学习。
设置代理教程:
单次代理
单次代理表示只在这一次连接中有效,即每次都需要代理。
http方式的代理非常简单,在URL对象的openConnection方法中加上个Proxy对象即可
Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress(ipBean.getIp(), ipBean.getPort()));
connection = (HttpsURLConnection) new URL(url).openConnection(proxy);
https 稍微复杂点了,中间加上了ssl协议
/**
* @param url
* @param headerMap 请求头部
* @param ipBean
* @return
* @throws Exception
*/
public static String getResponseContent(String url, Map<String, List<String>> headerMap, IPBean ipBean) throws Exception {
HttpsURLConnection connection = null;
// 设置代理
if (ipBean != null) {
Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress(ipBean.getIp(), ipBean.getPort()));
connection = (HttpsURLConnection) new URL(url).openConnection(proxy);
if (ipBean.getType() == IPBean.TYPE_HTTPS) {
SSLContext sslContext = SSLContext.getInstance("SSL");
sslContext.init(null, new TrustManager[], new java.security.SecureRandom());
connection.setSSLSocketFactory(sslContext.getSocketFactory());
connection.setHostnameVerifier(new TrustAnyHostnameVerifier());
}
}
if (connection == null)
connection = (HttpsURLConnection) new URL(url).openConnection();
// 添加请求头部
connection.setRequestProperty("User-Agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.81 Safari/537.36");
if (headerMap != null) {
Iterator<Map.Entry<String, List<String>>> iterator = headerMap.entrySet().iterator();
while (iterator.hasNext()) {
Map.Entry<String, List<String>> entry = iterator.next();
List<String> values = entry.getValue();
for (String value : values)
connection.setRequestProperty(entry.getKey(), value);
}
}
InputStream inputStream = connection.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
StringBuilder stringBuilder = new StringBuilder();
String line;
while ((line = reader.readLine()) != null) {
stringBuilder.append(line);
}
reader.close();
inputStream.close();
return stringBuilder.toString();
}
private static class TrustAnyTrustManager implements X509TrustManager {
public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {
}
public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {
}
public X509Certificate[] getAcceptedIssuers() {
return new X509Certificate[]{};
}
}
private static class TrustAnyHostnameVerifier implements HostnameVerifier {
public boolean verify(String hostname, SSLSession session) {
return true;
}
}
以上,我们就实现了单次代理的操作。大家如果对代理IP的使用还有疑惑,可以联系黑洞代理客服进行解答。
相关文章内容简介
1 单次代理IP设置使用方法
在获得代理IP之后,我们要怎么进行设置对其进行使用呢?黑洞代理下面带来了单次代理的设置教程,大家可以通过这个教程的步骤来进行学习。 设置代理教程: 单次代理 单次代理表示只在这一次连接中有效,即每次都需要代理。 http方式的代理非常简单,在URL对象的openConnection方法中加上个Proxy对象即可 Proxy∵proxy∵=∵new∵Proxy(Proxy.Type... [阅读全文]
最新标签
推荐阅读
31
2019-10
Urllib库怎么使用?
用pyhton来进行爬虫是很多爬虫工作者的选择,大数据在各行各业都发挥着作用,企业也对数据分析给予更多的关注,黑洞代理今天给大家介绍Urllib库的使用。
31
2019-10
爬虫要怎么设计运行?
互联网时代,网络爬虫是常规操作了,比较常见的就有像搜索引擎蜘蛛,它通过每天抓取不同网站的信息,当用户进行搜索的时候,才能够进行返回有效信息。黑洞代理下面为大家介绍爬虫要怎
07
2019-11
正向代理、反向代理的对比
代理服务器可以分为正向代理、反向代理,使用的时候,大家可能感受不出来具体有什么不同。但是这两种其实存在不少差异,使用场景也不一样。
31
2019-10
网络爬虫为什么会出现乱码?
代理IP让爬虫变得更加方便,降低了准入门槛,让很多人也开始学习如何编写爬虫程序。在爬虫的时候,会出现很多情况,黑洞代理跟大家分享当你的爬虫出现乱码如何解决。
热门文章
在线咨询
客户经理
公众号
关注公众号,免费领试用
大客户