什么是代理?工作原理、类型与用途
你开始使用某个工具、脚本或机器人程序,说明却要求将它连接到代理,但并没有真正解释原因。选择时又出现更多问题:有的代理单独销售,有的按套餐出售,价格各异,介绍里满是不熟悉的术语。在购买之前,你想知道自己为什么需要代理,以及怎样选到合适的代理。
什么是代理?
代理是软件、脚本或机器人程序访问网站时使用的中间方。软件连接代理,由代理联系网站,再将响应传回来。
代理背后是一台联网的计算机或其他设备,运行着在双方之间传送数据的软件。这台设备通常称为代理服务器。代理使用一个 IP 地址访问网站;购买服务后,你便获得使用该地址的权限。
软件为什么可能需要不同的 IP 地址
你的互联网连接有一个地址,也就是 IP 地址。机器人直接连接时,网站会看到它。使用代理时,网站接收的连接则来自代理的 IP 地址。
网站可能通过 IP 地址估计访客的国家,或限制同一地址的请求数量。因此,软件所用的 IP 可能影响它与网站的交互。
例如,同一计算机上运行的多个机器人,通常通过同一个 IP 上网。如果每个机器人都需要独立地址,代理可以实现这种安排。另一项任务可能需要与特定国家相关的地址,或需要在工作过程中更换 IP。这些要求有助于确定应选择哪种代理。
购买代理后会获得什么
购买代理后,你的软件会获得一个或多个 IP 地址的使用权限。机器人通过服务连接时,网站看到的是这些地址,而不是平常上网所用的 IP。提供访问权限并维持服务运行的公司,称为代理服务商。
服务商会提供代理地址和端口。例如,192.0.2.40:8080 包含地址 192.0.2.40 和端口 8080。端口是一个编号,用于标识在该地址连接哪项服务,这里就是代理服务。
访问也可能需要用户名和密码。服务商会将其与地址、端口一并提供,你再填入软件设置。下图说明各项数值应填入哪个字段。
配置完成后,机器人即可通过代理访问网站。计算机上的其他应用继续使用各自的连接设置。例如,机器人可以使用代理,而浏览器使用平常的互联网连接。购买代理访问权限本身不会自动切换任何连接;你需要在将使用代理的软件中进行配置。
通过代理的连接如何工作?
要了解设置后有什么变化,可以比较使用代理和不使用代理的网站连接。这对浏览器和机器人都适用:两者都会向网站发送请求并接收响应。浏览器向人展示页面;机器人按指令处理返回数据。两者都可以用来说明连接路径,下面以浏览器为例。
不使用代理打开页面
在浏览器中输入网站地址。浏览器连接网站,并要求网站发送页面。这就是一个请求。网站发回响应,浏览器显示收到的页面。
网站会看到你的互联网连接的 IP 地址。如果同一计算机上的机器人不通过代理联系网站,通常也会使用这个 IP。
添加代理
现在,在浏览器设置中填入代理,再次打开网站。浏览器连接代理,告诉它需要哪个网站。代理联系网站、接收响应,并将响应传回浏览器。网站看到的是代理 IP,而不是你的连接 IP。
机器人也是如此。它继续执行原本的工作,例如发布准备好的帖子或检查新消息。代理传送它的请求和网站响应。执行哪些操作、如何处理返回数据,仍由机器人决定。
为什么一个连接地址能提供多个 IP 的访问
服务商提供许多 IP,却只给你一个要填入机器人的地址。这不一定意味着只能使用一个 IP:设置中的地址可能通往服务的一个入口。
例如,服务商提供 proxy.example:8080。这个连接地址以名称表示,也可以用数字 IP 地址提供。你将地址和端口填入机器人设置。这个进入代理服务的入口称为网关。
机器人连接网关,服务再使用你有权访问的其他 IP 联系网站。图中展示一个网关后面两种可能的出口地址:IP A 和 IP B。
后面会说明 IP 如何保持不变或更换。
为什么使用代理?
人们使用代理,是为了向网站隐藏真实 IP、使用特定国家的 IP,或为机器人提供一个贯穿其工作过程的 IP。
这些功能之所以可行,是因为代理代表你连接网站。网站看到代理 IP 而不是你的 IP,并用该地址判断连接来自哪个国家。每个机器人获得哪个 IP,以及使用多久,取决于所选代理和设置。配置合适时,这三项目标可以同时实现。
从网站采集数据
假设机器人跟踪网店价格,要检查数千件商品。普通访客不会在短时间打开这么多页面。如果每个请求都来自同一 IP,网站可能检测到自动采集,并阻止该地址。机器人便无法再获取数据。
代理让你可以将机器人请求分散到不同 IP:通过一个地址检查部分商品,再通过另一个地址检查其他商品,依此类推。每个 IP 发送的请求更少,有助于绕开网站对单一地址请求数量的限制,并继续采集数据。
以其他国家访客的身份访问网站
同一家网店,可能向不同国家的访客展示不同商品、价格和配送选项。有些网站还会阻止来自你所在国家的 IP 访问。
使用所需国家的代理后,网站看到的是当地 IP,而非你的 IP。这样可以检查商店向当地买家提供哪些内容,或绕开基于国家的访问限制。
为持续工作保持稳定地址
有些网站只允许已加入允许列表的公网 IP 连接。长期运行的流程,也可能需要在许多请求中持续使用同一地址。只要客户仍能访问代理,分配稳定 IP 的代理就可提供该地址,即使客户自身的互联网连接发生变化。
这里保持同一 IP 很有用,每次请求后都更换地址反而违背目的。程序自身的登录状态和数据仍需维护;保持一个 IP 本身并不会保留网站账户会话。
为独立流程分配独立地址
如果运行多个机器人或独立任务,可以为每个分配不同的代理 IP。这样能分开它们的网站请求,也更容易看清每项任务使用哪个地址。
不同任务依赖不同代理特征。地区观察依赖位置,持续工作依赖地址稳定性,独立工作负载则依赖地址如何分配和共享。指南余下部分将解释这些属性,让“住宅”“私有”和“轮换”等词,可以被理解为描述服务不同方面的事实。
代理 IP 地址从哪里来?
选择代理时,你会遇到四种类型:数据中心、ISP、住宅和移动代理。区别在于 IP 地址来源,以及机器人通过哪种连接访问网站。
数据中心代理运行在数据中心服务器上,使用托管公司的 IP 地址。网站看到的是来自服务器网络的连接。
ISP 代理也运行在数据中心服务器上,但使用家庭互联网服务商的 IP 地址。设备是服务器硬件,地址则属于面向普通互联网用户提供服务的网络。
住宅代理通过用户的家庭互联网连接发送请求。机器人通过家庭网络上的设备访问网站,使用该连接的 IP 地址。
移动代理通过移动互联网发送请求,例如通过智能手机或装有 SIM 卡的调制解调器。网站看到的是移动运营商的 IP 地址。
选择代理时,这些区别很重要,因为网站可能区别对待数据中心、住宅和移动 IP。如果网站限制数据中心连接,家庭互联网服务商或移动运营商的地址,可能有助于访问。
有关四种类型、费用和工作方式的进一步比较,请参阅代理网络类型。
谁能使用同一个代理 IP?
购买代理时,需要知道一个 IP 是否仅供你使用,还是其他客户同时也会获得它。这就是共享代理与独享代理的区别。
共享代理允许服务商的多位客户使用一个 IP。你的机器人和其他客户的软件,通过同一地址访问网站。如果有人发送过多请求,导致网站阻止该共享 IP,你的机器人也将无法通过该地址访问网站。
私有代理,也称独享代理,在付费期间提供一个 IP 的独占使用权。服务商的其他客户不使用它,因此他们的活动不会消耗网站针对你这个地址设置的请求额度。
共享代理通常更便宜。如果想独自使用 IP,不受其他客户通过该地址进行的活动影响,独享代理就很有用。更多选择建议,请参阅共享代理与独享代理。
IP 地址如何保持不变或更换?
有些任务需要连续数周或数月使用同一 IP,另一些则需要频繁更换地址。因此,代理分为静态和轮换两类。
静态代理让你能够使用同一个 IP 数周、数月或更长时间,适合机器人或账户需要长期稳定地址的任务。
轮换代理会在软件运行时更换 IP。例如,每个新请求可以使用不同地址。另一种方式是按固定间隔更换 IP,例如每 10、20 或 30 分钟。机器人继续工作,网站则收到来自不同 IP 的请求。
为更换地址,服务会使用 IP 地址池,即一组可供其使用的地址。到了更换时间,服务就从中选择一个 IP。
如何使用轮换代理临时保留同一 IP
有时,机器人需要连续使用同一 IP 完成几个操作,例如登录账户、打开所需页面并提交表单。
粘性会话为这些操作临时保留一个 IP。根据服务规定,例如可以保留地址 10、20 或 30 分钟。可用时长及保留 IP 的条件,由服务商设定。
这样,轮换代理既能在任务之间更换地址,又能在每项任务全过程中保持一个 IP。更多配置说明,请参阅静态代理、IP 轮换与粘性会话。
代理的位置如何确定?
网站通常通过将 IP 范围与国家、地区、城市和网络关联的数据库估计位置。这就是 IP 地理定位。它是对地址的解释,而非直接测量访客的实际位置。不同数据库对同一 IP 可能返回不同结果,其记录也会随时间变化。
代理连接涉及几个位置:设备所在地、网关托管地、流量从哪里到达目标,以及目标数据库将该 IP 归在哪个位置。这些地方不必全部相同。附近的网关可以提供与其他国家相关的地址访问。网关距离可能影响连接的第一段,却不决定网站看到的位置。
服务商可能允许选择国家、城市或特定网络。城市级标签同样是估算,因此控制面板中的名称,并不保证每个网站都会如此归类该 IP。
可选国家、城市和网络取决于服务。一个池包含多个国家的地址,不一定意味着客户可以选择其中一个国家。同样,有国家选择器,也不代表该国每个城市或运营商都可用。对于地区性工作,关键属性是目标如何定位实际使用的地址。
语言、已保存偏好、账户设置和设备位置权限,仍可能影响页面展示。IP 位置只是判断依据的一部分。代理地理定位:国家、城市和网络说明这些信号与位置选项如何相互关联。
程序如何与代理通信?
协议是通信双方共同使用的一组规则。程序必须知道如何请求代理访问网站,代理也必须理解该请求。地址和端口指出连接哪里;协议决定程序连接后说什么。
使用 HTTP 代理时,程序遵循 HTTP 代理规则。对于普通的未加密 HTTP 请求,代理可以接收标明目标的请求,再将其转发。对于 HTTPS 网站,一种常见方式是 HTTP CONNECT 请求:程序要求代理打开通往目标的隧道,再通过该隧道传输浏览器与网站之间的加密通信。
HTTPS 代理这一名称需要结合上下文理解。它可能表示程序到代理这一段连接本身受 TLS 保护,TLS 也是 HTTPS 使用的加密协议。有些方案则用该名称表示支持通过 CONNECT 访问 HTTPS 目标。这是两种独立能力。浏览器与网站之间的加密,以及程序与代理之间的加密,保护的是路径的不同部分。
SOCKS5提供更通用的方式,让程序请求中间方与目标通信。它可以通过 IP 地址或域名指定目标。标准包括 TCP 连接和 UDP 流量机制,但具体服务商或程序可能只支持部分能力。SOCKS5 本身不加密传输内容;应用可以通过连接使用自身加密。
目标协议与代理协议无须同名。浏览器可以通过 HTTP 代理隧道,或合适的 SOCKS5 服务,访问 HTTPS 网站。关键是程序与代理是否支持所需安排。
协议不决定网络类型,也不决定 IP 是否变化。例如,ISP 代理可以支持 SOCKS5 并保持固定地址,住宅代理可以支持 HTTP 并更换地址。相反组合也可行:ISP 代理使用 HTTP 和轮换,住宅代理使用 SOCKS5 和固定 IP。网络类型、协议和 IP 轮换可以以不同方式组合。
HTTP、HTTPS 和 SOCKS 代理协议说明通信规则,以及这些规则对不同应用意味着什么。
代理如何控制访问?
付费服务需要一种方式,将有权使用服务的客户与其他互联网用户区分开。身份验证让代理服务根据所提供的凭据或源 IP 地址,检查是否允许该连接。
使用用户名和密码时,程序在连接时提供凭据。服务商可以据此识别客户、应用套餐限制,有时也可选择位置或会话。代理密码属于代理服务,与通过该连接登录网站所用的密码相互独立。
使用 IP 白名单时,服务商接受来自预先获准公网源地址的连接。它检查的是连接呈现给代理的地址,通常不同于家庭或办公网络内部的私有地址。如果公网源地址变化,基于旧地址的授权可能不再匹配。如果多台设备共享获准公网地址,仅依据地址的规则无法逐台区分它们。
有些服务用用户名和密码验证身份;另一些允许来自已加入白名单的 IP 地址的连接;还有些两者都要求:在软件中填入用户名和密码,并在服务商控制面板的允许列表中添加自己的公网 IP。
这项检查保护的是代理访问。它不会让共享 IP 变为独享、向网站隐藏账户登录,也不会自行加密数据。有关两种方法的设置,请参阅代理身份验证方式。
IPv4 与 IPv6 代理有何区别?
IPv4 代理通过 IPv4 地址联系网站,例如 192.0.2.40。网站看到的就是该地址,格式为四个由点分隔的数字。
IPv6 代理通过 IPv6 地址联系网站,例如 2001:db8::40。此时网站看到不同格式的地址:使用数字和 a 到 f 的字母,各组字符由冒号分隔。
选择时,与目标网站的兼容性很重要。有些网站只接受 IPv4 连接,另一些同时接受 IPv4 和 IPv6。要从 IPv6 地址访问网站,网站必须支持 IPv6。
因此,IPv6 代理无法自动在所有网站上替代 IPv4 代理。更多选择和配置说明,请参阅IPv4 和 IPv6 代理。
为什么高匿名代理不能保证网站访问?
服务介绍或代理检测工具中,可能出现 Elite / High Anonymity(高匿名)。这表示代理不会添加泄露你原始 IP 地址,或表明使用了代理的请求头。该标签描述的是代理的一项属性,而非整体质量。
网站仍然能看到代理 IP。如果地址出现在已知代理数据库中,或信誉较差,网站可能拒绝其请求。浏览器设置和软件行为也可能影响网站判断。因此,Elite 并不意味着代理无法被检测,也不保证能够访问。
代理匿名级别说明这套较早分类中的 Elite 及其他标签,以及匿名检测工具实际检测的内容。
套餐容量足以完成任务吗?
客户希望花更少的钱完成更多工作。服务商则要为服务器、IP 地址、网络连接和维护付费,需要覆盖成本并盈利。因此,每个套餐都会规定服务商以该价格提供多少容量。
选择代理时,应将这些条件与软件工作负载比较。即使大型 IP 套餐也可能不合适:地址足够,但程序报错、运行太慢,或任务尚未完成就已用尽付费流量。
| 限制 | 购买前应检查什么 | 可能后果 |
|---|---|---|
| 允许的并发连接数 | 软件同时打开多少连接,套餐允许多少。 | 额度已被占用时,新连接会被拒绝。部分任务无法启动,或以错误结束;重试会增加完成工作所需时间。 |
| 每秒或每分钟允许的请求数 | 软件多频繁地发送请求,服务商允许什么速率。 | 超限请求被拒绝或延迟。程序在可用时间内收到的响应更少,重试又进一步拖慢工作。 |
| 最大数据传输速度 | 可用速度是否足以在给定时间内传输所需数据量。 | 传输达到速度上限,文件下载需要更久。如果套餐有共享速度上限,增加并行下载不会提高上限:所有下载共同分享可用速度。 |
| 付费流量额度 | 套餐包含多少吉字节,软件需要多少。 | 额度用完后,工作停止,直到充值或套餐续期。如果启用了付费超额使用或自动充值,工作可能继续,但费用会增加。 |
检查每项上限适用于单个 IP、整个套餐,还是账户。如果限制适用于整个账户,单独购买更多 IP 不会提高它。而“不限流量”也不意味着速度不限,或允许任意数量的并发连接。
除限制之外,响应时间也很重要:软件要等多久才开始收到响应。长时间等待会让很小的操作也变慢。如果响应未及时到达,程序可能以超时错误结束请求,表示允许的等待时间已过。仅 ping 代理,并不能说明从目标网站取得响应需要多久。
服务商可能限制目标端口、网站、应用或活动类型。即使代理可用、客户身份验证成功,端口限制也可能阻止访问特定服务。这些限制属于代理服务。目标还可按照自身规则,独立拒绝或限制传入请求。
代理使用限制说明这些限制如何影响软件工作。
客户为哪些内容付费?
代理费用可能取决于 IP 地址数量、传输数据量或请求数量。因此,相同的软件工作负载,在不同套餐下可能按不同方式计费。
按 IP 付费时,你购买一定期限内一定数量 IP 地址的使用权,例如一个月使用 100 个 IP。这常见于分配给客户的代理列表。付费期内,每个新请求不会增加地址本身的费用。套餐规定是否包含流量,以及流量是否有限额。
按 GB 付费时,你为通过代理传输的数据量付款。简短文本响应消耗少量流量,图片、视频和大文件则多得多。软件传输的数据越多,付费额度就消耗得越快。
按请求付费时,费用取决于服务计入账单的请求数。应检查它把什么算作一个请求,以及错误和重试是否收费。例如,打开一个页面可能需要分别请求图片及页面其他部分。
付款安排是另一项独立选择。订阅按固定周期提供套餐并定期续订,例如每月 100 个 IP 或 50 GB。按需付费意味着随使用付款,例如按消耗流量从余额扣款。应查看所选套餐的到期和未用额度结转规则。
比较方案时,应估算工作负载:需要多少地址、将传输多少数据,以及软件会发出多少请求。更多内容请参阅代理计费模式。
购买代理前应检查什么?
付款前,应了解如果代理不适合任务、需要更换地址,或付费访问到期,会怎样处理。
能否先测试代理?检查是否提供免费或付费试用、持续多久,以及会获得哪些代理。试用让你在购买主要套餐前,检查代理是否适用于自己的软件和所需网站。
能否退款?检查服务商在什么情况下退款,以及申请时限。尤其要确认:如果代理能正常工作,却不适合你的网站或应用,是否可以退款。
能否更换 IP 地址?了解什么情况下允许更换、费用多少,以及多久可以申请一次。例如,一个地址正常工作,却被所需网站阻止,能否更换?
续订时会怎样?保留原 IP,还是收到新 IP?如果需要保留地址,应提前确认。同时检查服务是否自动续订,以及未按时付款会怎样。
客服提供哪些帮助?了解代理无法连接,或无法通过代理打开所需网站时,应该联系哪里。检查问题无法解决时,服务商提供什么处理方式。
具体条件应查看所选套餐页面和服务条款。更多需要留意的事项,请参阅代理服务商政策。
如何判断代理是否适合任务?
合适的代理取决于需要做什么。一项任务可能要求连续数周保持同一 IP,另一项则需要频繁更换。一个程序可能只需几个连接,另一个却要打开数千个。因此,适合一项任务的服务,未必适合另一项任务。
了解代理特征,有助于看清服务商提供什么、哪些限制与你有关,以及应提前澄清什么。用自己的软件和所需网站测试,才能显示服务对实际任务的适用程度。
