如何区分代理ip的类型?有朋友认为他设置代理IP后查看本地IP时,本地IP并没有变化。他认为这是透明代理,其实是错误的。这种情况应该是浏览器或者系统设置不正确,导致代理IP的设置根本没有生效。有朋友认为他使用代理IP访问网站时,被屏蔽是非隐私代理,或者被屏蔽是隐私代理,这其实是不对的。有些网站没有反抓取策略,即使使用透明代理也不会被屏蔽。有些网站有严格的反抓取策略,使用隐私代理还是会被屏蔽。
那么,我们应该如何区分哪种代理是不可见的,哪种是透明的呢?我们先来看代理的原理。
代理类型主要取决于代理服务器的配置。不同的配置会导致不同的代理类型。在配置中,REMOTE_ADDR、HTTP_VIA、HTTP_X_FORWARDED_FOR这三个变量是决定性因素。
ADDR偏远地区
REMOTE_ADDR表示客户端的IP,但其值不是由客户端提供,而是由服务器根据客户端的IP指定的。
如果使用浏览器直接访问网站,网站的web服务器(Nginx、Apache等。)会将远程_ADDR设置为客户端的IP地址。
如果我们为浏览器设置了代理,那么我们访问目标网站的请求首先会通过代理服务器,然后代理服务器会将请求转换到目标网站。那么网站的web服务器会将REMOTE_ADDR设置为代理服务器的IP。
b、HTTP_VIA
Via是HTTP协议中的一个头,记录了HTTP请求经过的代理和网关。一个代理服务器后增加一个代理服务器的信息,两个后增加两个。
c、X-Forwarded-For(XFF)
X-Forwarded-For是一个HTTP扩展头,用来表示HTTP客户端的真实IP。当客户端使用代理时,web服务器不知道客户端的真实IP地址。为了避免这种情况,代理服务器通常会添加X-Forwarded-For标头信息,并将客户端的IP添加到标头信息中。
现在,我们来看看这四个代理是根据什么来判断的。
1.透明剂
远程ADDR =代理IP
HTTP_VIA =代理IP
HTTP _ X _ FORWARDED _ FOR =您的IP
虽然透明代理可以直接“隐藏”你的IP地址,但是你还是可以从HTTP_X_FORWARDED_FOR中查出你是谁。
2.浦西代理
远程ADDR =代理IP
HTTP_VIA =代理IP
HTTP _ X _ FORWARDED _ FOR =代理IP
布匿代理比透明代理好一点:别人只能知道你用了代理,不能知道你是谁。
3.迷惑代理
远程ADDR =代理IP
HTTP_VIA =代理IP
HTTP_X_FORWARDED_FOR =随机IP地址
和匿名代理一样,如果你使用混淆代理,别人仍然可以知道你在使用代理,但是你会得到一个假的IP地址,伪装的更加逼真。
4.隐藏剂
远程ADDR =代理IP
HTTP_VIA =未确定
HTTP_X_FORWARDED_FOR =未确定
可见高尼的代理让别人无法发现你在使用代理,所以是最好的选择。推荐阅读:谈爬虫与反爬虫之间的事。
现在,我们都知道如何辨别一个IP是否是代理IP。有朋友说太麻烦了。当我得到一个IP时,如何检查HTTP_X_FORWARDED_FOR?我也不会写代码。这里有一个非常神奇的工具:IP模拟器代理IP,可以批量验证代理IP是否有效,不可见等等。