您的位置: 首页 > 新闻资讯 > 正文

代理ip的简介及获取和使用方法

发布时间:2019-10-09 11:14:00 来源:黑洞代理

代理ip的简介及获取和使用方法。随着互联网的发展,信息采集对企业的发展也越来越重要,代理ip的使用也随之被应用起来,那什么是代理ip呢,如何获取和使用呢?今天黑洞代理工程师就跟大家简单介绍下:

代理ip的简介及获取和使用方法

一、代理ip简介

为了防止IP被网站封掉而不能继续爬取页面,爬虫程序需要不断的更换IP地址等信息,来伪装成一个真实用户。

代理IP的分类:

注:关于代理ip的分类信息来源于互联网。

关于代理IP的话 也分几种 透明代理、匿名代理、混淆代理、高匿代理

1、透明代理(Transparent Proxy)

REMOTE_ADDR = Proxy IP

HTTP_VIA = Proxy IP

HTTP_X_FORWARDED_FOR = Your IP

透明代理虽然可以直接“隐藏”你的IP地址,但是还是可以从HTTP_X_FORWARDED_FOR来查到你是谁。

2、匿名代理(Anonymous Proxy)

REMOTE_ADDR = proxy IP

HTTP_VIA = proxy IP

HTTP_X_FORWARDED_FOR = proxy IP

匿名代理比透明代理进步了一点:别人只能知道你用了代理,无法知道你是谁。

3、混淆代理(Distorting Proxies)

REMOTE_ADDR = Proxy IP

HTTP_VIA = Proxy IP

HTTP_X_FORWARDED_FOR = Random IP address

如上,与匿名代理相同,如果使用了混淆代理,别人还是能知道你在用代理,但是会得到一个假的IP地址,伪装的更逼真。

4、高匿代理(Elite proxy或High Anonymity Proxy)

REMOTE_ADDR = Proxy IP

HTTP_VIA = not determined

HTTP_X_FORWARDED_FOR = not determined

可以看出来,高匿代理让别人根本无法发现你是在用代理,所以是最好的选择。

二、获取代理ip

可以写一个小爬虫来爬取这些免费ip代理网站上的代理IP和端口号。

注意:可用率真的很低,需要再次筛选后才能使用。

分享几个免费IP代理网站:

1、西刺代理

http://www.xicidaili.com/

2、66免费代理网

http://www.66ip.cn/

3、快代理

http://www.kuaidaili.com/free/

4、站大爷(不好用,端口号是图片,不易爬取。不过据说IP的质量还不错)

http://ip.zdaye.com/

免费代理ip网站有很多,包括国内的和国外的,但是因为免费,所以可用率低到不行,因此获取之后再筛选是免不了的。

ip代理可以从各种网站上抓取,放到数据库中。

当一个ip地址被封时(检测response中的状态码),从数据库中取出一条新的ip使用。

同时数据库中的ip代理要定时检测是否可用,不可用的ip代理要及时删除。

判断ip代理是否可用:

使用该ip代理来访问一个网址,比如百度的首页,如果response中的状态码为200.说明可以正常访问,则该ip代理是可用的,否则是不可用的。

三、在java爬虫中使用代理ip

使用代理IP的完整实现代码:

package cn.mwxu16.DaiLi_IP;

import java.io.IOException;

import org.apache.http.HttpEntity;

import org.apache.http.HttpHost;

import org.apache.http.client.config.RequestConfig;

import org.apache.http.client.methods.CloseableHttpResponse;

import org.apache.http.client.methods.HttpGet;

import org.apache.http.impl.client.CloseableHttpClient;

import org.apache.http.impl.client.HttpClients;

import org.apache.http.util.EntityUtils;

/*

* Demo1

* 使用代理IP

*/

public class Demo1 {

public static void main(String[] args) throws Exception{

CloseableHttpClient httpClient = HttpClients.createDefault(); // 创建一个HTTPClient对象

HttpGet httpget = new HttpGet("http://www.baidu.com";); // 创建HTTP的get请求实例

//==========设置代理IP

HttpHost proxy = new HttpHost("58.243.207.87",9858 ); //设置代理IP的地址和端口号

RequestConfig config =RequestConfig.custom().setProxy(proxy).build();

httpget.setConfig(config);

//===================

// 设置请求头信息,模拟浏览器,这里使用火狐浏览器的User-Agent

httpget.setHeader("User-Agent","Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:55.0) Gecko/20100101 Firefox/55.0");

CloseableHttpResponse response = null; // 创建CloseableHttpResponse对象

response = httpClient.execute(httpget);

HttpEntity entity = response.getEntity(); // 获取返回实体(即返回的网页源码)

System.out.println(EntityUtils.toString(entity, "utf-8")); //输出网页源码

closeAll(response, httpClient); //释放资源

}

// 关闭所有资源

public static void closeAll(CloseableHttpResponse response, CloseableHttpClient httpClient) {

// 关闭资源

try {

response.close(); // 关闭response

} catch (IOException e) { // IO异常

e.printStackTrace();

}

try {

httpClient.close(); // 关闭httpClient

} catch (IOException e) { // IO异常

e.printStackTrace();

}

}

以上就是代理ip的介绍及代理ip的获取和使用方法,内容仅供参考。如有疑问详情可以咨询在线客服。


相关文章内容简介

1 代理ip的简介及获取和使用方法

  代理ip的简介及获取和使用方法。随着互联网的发展,信息采集对企业的发展也越来越重要,代理ip的使用也随之被应用起来,那什么是代理ip呢,如何获取和使用呢?今天黑洞代理工程师就跟大家简单介绍下:  一、代理ip简介  为了防止IP被网站封掉而不能继续爬取页面,爬虫程序需要不断的更换IP地址等信息,来伪装成一个真实用户。  代理IP的分... [阅读全文]

最新标签

在线客服

QQ咨询

上班时间