当我们对某些网站进行爬取的时候,我们经常会换IP来避免爬虫程序被封锁。这些代理IP地址是如何获取的呢?其实很简单,目前网络上有很多IP代理商,例如天启代理IP,神龙IP等等,这些代理商一般都会提供透明代理,匿名代理,高匿代理。本文就讲讲各种代理 IP 背后的原理。
一、代理类型
代理IP一共可以分成4种类型,除了前面提到过的透明代理IP,匿名代理IP,高匿名代理IP,还有一种就是混淆代理IP。从基础的安全程度来说呢,他们的排列顺序是高匿 > 混淆 > 匿名 > 透明。
二、代理原理
代理类型主要取决于代理服务器端的配置,不同配置会形成不同的代理类型。在配置中,这三个变量REMOTE_ADDR,HTTP_VIA,HTTP_X_FORWARDED_FOR 是决定性因素。
(一)REMOTE_ADDR
REMOTE_ADDR 表示客户端的 IP,但是它的值不是由客户端提供的,而是服务器根据客户端的 IP 指定的。
如果使用浏览器直接访问某个网站,那么网站的 web 服务器(Nginx、Apache等)就会把 REMOTE_ADDR 设为客户端的 IP 地址。
如果我们给浏览器设置代理,我们访问目标网站的请求会先经过代理服务器,然后由代理服务器将请求转化到目标网站。那么网站的 web 代理服务器就会把 REMOTE_ADDR 设为代理服务器的 IP。
(二)X-Forwarded-For(XFF)
X-Forwarded-For 是一个 HTTP 扩展头部,用来表示 HTTP 请求端真实 IP。当客户端使用了代理时,web 代理服务器就不知道客户端的真实 IP 地址。为了避免这个情况,代理服务器通常会增加一个 X-Forwarded-For 的头信息,把客户端的 IP 添加到头信息里面。
X-Forwarded-For 请求头格式如下:
X-Forwarded-For: client, proxy1, proxy2
client 表示客户端的 IP 地址;proxy1 是离服务端最远的设备 IP; proxy2 是次级代理设备的 IP;从格式中,可以看出从 client 到 server 是可以有多层代理的。
如果一个 HTTP 请求到达服务器之前,经过了三个代理 Proxy1、Proxy2、Proxy3,IP 分别为 IP1、IP2、IP3,用户真实 IP 为 IP0,那么按照 XFF 标准,服务端最终会收到以下信息:
X-Forwarded-For: IP0, IP1, IP2
Proxy3 直连服务器,它会给 XFF 追加 IP2,表示它是在帮 Proxy2 转发请求。列表中并没有 IP3,IP3 可以在服务端通过 Remote Address 字段获得。我们知道 HTTP 连接基于 TCP 连接,HTTP 协议中没有 IP 的概念,Remote Address 来自 TCP 连接,表示与服务端建立 TCP 连接的设备 IP,在这个例子里就是 IP3。
相关文章
- 代理IP如何使用大数据分析
- 盘点爬虫IP代理使用的常见问题及解决思路
- ADSL和代理IP有什么区别?
- 浅析爬虫代理报错的原因
- 爬虫离开代理IP后还能否顺畅工作
- 网站如何判断有爬虫在采集数据
- 爬虫HTTP代理可以收集哪些数据?
- 了解网页抓取五种常用的HTTP标头
- 盘点爬虫语言为何选择Python而不是Java
- 正确认识网络抓取与网络爬取的区别
- 挂机需要代理IP吗?-神龙HTTP
- 为何在代理IP中,高匿IP才比较好-神龙HTTP
- 建立自己的代理IP池的好处?-神龙HTTP
- 代理IP适合几个日常工作的场景?-神龙HTTP
- 如何看待免费代理IP的安全性-神龙HTTP
- 更换IP地址的不同方法-神龙HTTP
- IP切换工具的应用方法-神龙HTTP
- 盘点导致使用代理IP后网速变慢的几种原因-神龙HTTP
- 代理IP如何保护企业网络安全?-神龙HTTP
- 如何计算爬虫需要多少代理ip呢?-神龙HTTP
- http代理服务器如何帮助维护在线隐私-神龙HTTP
- 盘点如何从网站中提取数据?-神龙HTTP
- 使用http代理进行优化SEO有什么好处?-神龙HTTP
- 代理服务器和负载均衡器有什么区别?-神龙HTTP
- HTTP 代理服务器的架构-神龙HTTP
- 免费代理ip适用的范围-神龙HTTP
- 免费代理ip和收费代理ip的区别-神龙HTTP
- 免费代理IP可以用来做爬虫吗?-神龙HTTP
- 如何判断代理服务器ip质量?-神龙HTTP
- 自建http代理IP池如何考虑高频接入的要求-神龙HTTP
- 为什么说代理IP池越大越好?-神龙HTTP
- 代理IP为什么要使用高匿代理IP呢?-神龙HTTP
- 付费SOCKS5代理的四个优点-神龙HTTP
- 盘点代理IP选择按流量计费贵么?-神龙HTTP
- IP代理池具备的特征-神龙HTTP
- 网络抓取网站总是被阻止怎么办?
- 使用ip代理时的常见误解-神龙HTTP
- SOCKS和HTTP代理有什么区别?-神龙HTTP
- Socks5代理如何解决在线问题?-神龙HTTP
- http代理工作方式介绍-神龙HTTP
- 住宅代理服务器的用途及优势分析-神龙HTTP
- 为什么在抓取网页时需要使用http代理呢?-神龙HTTP
- HTTP代理常见的客户端错误代码类型-神龙HTTP
- SOCKS代理和SOCKS5代理区别是什么?-神龙HTTP
- python爬虫使用代理服务器好处是什么?-神龙HTTP
- 代理ip是如何解决爬虫ip被封的-神龙HTTP
- 稳定的代理IP具备的因素-神龙HTTP
- python爬虫怎么使用代理IP-神龙HTTP
- HTTP代理IP如何运用-神龙HTTP
- 代理服务器介绍及类型划分-神龙HTTP
- IP代理具有哪些类型原理-神龙HTTP
- 代理IP能否提高爬虫效率?-神龙HTTP
- 不同的代理服务器有什么区别?-神龙HTTP
- 动态IP地址应该在什么情况下使用呢?-神龙HTTP
- 代理一般是如何定价收费的呢?-神龙HTTP
- 代理服务器介绍及类型划分-神龙HTTP
- 如何使用代理ip访问浏览器?-神龙HTTP
- 认识代理服务器的请求处理规则-神龙HTTP
- 什么是动态IP代理-神龙HTTP
- 什么是动态IP?动态IP的作用什么?-神龙HTTP
- 如何判断ip代理是否能用?-神龙HTTP
- 如何选择合适的http代理?-神龙HTTP
- 盘点判断使用的代理IP是否有效的几种方式?-神龙HTTP
- 为什么代理IP爬虫不会受到限制?-神龙HTTP
- 盘点优质代理ip为用户省去的诸多问题-神龙HTTP
- 代理ip业务结束后,可以用新的IP继续发帖吗?-神龙HTTP
- 如何理解代理IP中大数据杀熟的意思
- 动态IP地址的优缺点分析
- 关于国内代理ip和代理ip的小常识-神龙HTTP
- 怎么判断SOCKS5代理IP地址是有效的?-神龙HTTP
- 改变ip地址的原理和作用-神龙HTTP
- 爬虫的抓取效率怎么去提升-神龙HTTP
- 盘点什么样的代理IP更适合爬虫?-神龙HTTP
- 简易的HTTP代理服务器怎么实现?-神龙HTTP
- 静态IP、动态IP、ADSL拨号的区别-神龙HTTP
- 使用代理ip软件要了解的优势
- 爬虫利用代理ip突破频率限制-神龙HTTP
- 盘点ip代理那些强大功能-神龙HTTP
- 使用代理IP后常见的几大问题-神龙HTTP
- 怎么测试和评定代理商IP的实际效果-神龙HTTP
- 使用HTTP协议的代理服务器有哪些类型
- 网页IP代理有几种获取方式?-神龙HTTP
- 如何为Scrapy设置代理-神龙HTTP
- 付费代理真的比免费代理好得多吗?-神龙HTTP
- 如何使用Python进行网页抓取-神龙HTTP
- 怎么维护爬虫代理IP池?-神龙HTTP
- ip代理对网络营销能起到什么帮助?-神龙HTTP
- 网络爬虫对代理IP有哪些要求-神龙HTTP
- 爬虫技术有哪些-神龙HTTP
- 爬虫可以爬哪些网站-神龙HTTP
- 为什么代理ip越来越普遍-神龙HTTP
- 使用HTTP代理IP过程中的误区 -神龙HTTP
- 爬虫代理IP池的验证网址出错-神龙HTTP
- 动态IP在网络爬虫中有什么作用?-神龙HTTP
- 短效优质代理多线程获取IP方法-神龙HTTP
- 用ip代理解决网络受阻-神龙HTTP
- 代理IP连不通是一定是代理IP的问题?-神龙HTTP
- python爬虫爬微信好友信息代码(上)-神龙HTTP
- 网络爬虫是什么?-神龙HTTP
- HTTP代理的四大问题-神龙HTTP
- 网站为什么要反爬虫?-神龙HTTP
- Scrapy爬虫框架的五大组件-神龙HTTP
- 选择代理IP资源应该注意什么?
- 爬虫工程师要怎样练习爬虫-神龙HTTP
- 浅谈代理IP中白名单的作用-神龙HTTP
- Python爬虫又叫网络爬虫-神龙HTTP
- 分布式网络爬虫是什么?神龙HTTP
- 基于Requests库的爬虫代理配置-神龙HTTP
- Scrapy使用代理爬取网站-神龙HTTP
- 爬虫代理超时原因及排查方法-神龙HTTP
- 爬虫与User-Agent-神龙HTTP
- 住宅代理和数据中心代理的区别-神龙HTTP
- 使用代理IP爬虫时超时怎么办?-神龙HTTP
- 网络爬虫IP受限该怎么解决?-神龙HTTP
- 网站如何反爬虫-神龙HTTP
- 怎样使用代理IP让爬虫效率最大化-神龙HTTP
- 爬虫采集数据如何防被封IP?-神龙HTTP
- 网络爬虫一定要用ip代理吗?神龙HTTP
- 如何选择高质量的代理IP-神龙HTTP