规划 CAPTCHA 求解代理池的规模

作者:solvethree阅读需 1 分钟

根据同时进行的求解并提交流程确定代理池规模,而不是根据应用程序线程数。每条流程都应保持代理固定,直到目标提交完成;令牌就绪并不意味着可以释放或轮换代理。

本页内容

从四个固定分配开始

对于四条活跃的逻辑流程,先分配四个代理会话。每个作业都使用分配给它的会话进行求解和目标提交,并使用返回的浏览器身份及时提交。

示例 · 四个活跃逻辑流程
[
  {
    "job": 1,
    "proxyEnvironmentVariable": "PROXY_SESSION_1",
    "reuseFor": "solve and target submission",
    "resultHandling": "submit promptly with returned browser identity"
  },
  {
    "job": 2,
    "proxyEnvironmentVariable": "PROXY_SESSION_2",
    "reuseFor": "solve and target submission",
    "resultHandling": "submit promptly with returned browser identity"
  },
  {
    "job": 3,
    "proxyEnvironmentVariable": "PROXY_SESSION_3",
    "reuseFor": "solve and target submission",
    "resultHandling": "submit promptly with returned browser identity"
  },
  {
    "job": 4,
    "proxyEnvironmentVariable": "PROXY_SESSION_4",
    "reuseFor": "solve and target submission",
    "resultHandling": "submit promptly with returned browser identity"
  }
]

这会将四个作业映射到四个会话,不一定对应四个不同的 IP。这不是通用的每线程一个 IP 规则,也不是实测容量上限。未运行求解并提交流程的线程不需要单独分配会话。

如果代理供应商会轮换出口,请使用其会话或固定出口功能,让求解端和提交端共用同一出口。仅有四个环境变量并不能确保这一点。提交时请使用成功的代理,以及解决方案中的 userAgent 和 secChUa,不要替换成应用程序惯用的浏览器标头。

候选项是备选方案,不是额外的求解槽位

reCAPTCHA 请求必须且只能指定 proxy 或 proxyCandidates 中的一个。候选列表最多接受十二个不同的 HTTP 或 HTTPS 代理 URL,且不得包含路径、查询或片段。这些是同一任务的备选出口,而非并行批次:四个作业各带十二个候选代理,仍然代表四个逻辑流程,而不是 48 次求解。

使用候选代理时,请保留原始数组。对于 reCAPTCHA,solution.egressAttempts 通过从 1 开始的索引标识成功的候选代理。在选择用于提交的代理之前,请验证它是介于 1 和数组长度之间的整数。如果该值缺失或无效,请停止操作,不要猜测。

候选数量上限并非建议的代理池大小,回退机制也不保证能找到可用出口。会话任务要求使用单个代理,因此不要将候选列表用于这类任务。

增加 IP 前,先测试四流程配置

运行实际的目标工作流程。为每个作业记录不含敏感信息的代理会话标签、任务终态和目标响应。区分求解器就绪与目标接受这两个环节,否则即使所有提交都失败,代理池也可能看起来运行正常。

已就绪的令牌在提交前处于等待状态。

应用能否跟上四个活跃流程的结果产出速度,及时提交结果?

试试这样做: 将并发求解量降至应用能及时使用的水平。增加代理会话无法解决提交延迟。

目标拒绝了已就绪的解答。

提交时是否使用了成功的出口、返回的浏览器身份以及预期目标?

试试这样做: 购买更多 IP 前,先纠正不匹配之处。如果这些信息均一致,请使用相同的目标工作流程比较代理选项;住宅、移动或数据中心等标签不能证明目标会接受请求。

代理返回 HTTP 407。

检查代理身份验证,包括用户名或密码中的保留字符。

试试这样做: 修正凭据,并对凭据的各个组成部分进行百分号编码,而不是对整个代理 URL 编码。增加候选代理无法修复同样的身份验证错误。

如果四流程运行的表现不如并发度更低的运行,请先调查差异,再扩大规模。需要更多并发流程时,增加固定代理分配,然后再次比较端到端结果。代理连接可用或代理池更大,都不能证明 CAPTCHA 分数。

分别规划求解和代理流量预算

按当前按量付费费率计算,10,000 个已就绪的 reCAPTCHA 任务费用为 $20,未计入账户余额抵扣或适用赠金。求解失败会退款。目标拒绝提交不会自动退还已就绪求解的费用。

将代理支出作为单独的费用项目。依据提供商的计费条款,以及在同一次求解与提交试运行中测得的流量进行估算;配置的会话数或候选代理数无法反映流量账单。

运行您的第一个任务。

使用 $5 工作区额度开始体验。

创建工作区
规划 CAPTCHA 求解代理池的规模 · solvethree