Browser 在 Cloudflare 验证通过后捕获真实状态
当受 Cloudflare 保护的目标在验证通过后返回真实的地理位置封锁页面 (451) 时,Browser 产品之前会将其报告为 200,因为 watcher 硬编码了验证通过后的状态。现在,watcher 会读取验证通过后的实际 Document,因此 200 仍保持为 200,451 会显示为 451,同时 Auto 会拒绝错误的内容,并继续寻找真正符合您的 validate 规则的出口。
FourA 的最新更新与改进
当受 Cloudflare 保护的目标在验证通过后返回真实的地理位置封锁页面 (451) 时,Browser 产品之前会将其报告为 200,因为 watcher 硬编码了验证通过后的状态。现在,watcher 会读取验证通过后的实际 Document,因此 200 仍保持为 200,451 会显示为 451,同时 Auto 会拒绝错误的内容,并继续寻找真正符合您的 validate 规则的出口。
无论使用何种键盘布局,Cmd+K (Ctrl+K) 快捷键现在均可打开命令面板和搜索模态框。此前我们匹配的是输入的字符(在西里尔布局下为 к),因此使用非拉丁布局的用户无法触发任何操作。现在我们匹配物理按键。该修复已应用于主站、博客和文档。
一次冷 Auto 解析可能需要数分钟,该 request 现在会在整个预算期内保持打开状态。来自任何层的错误都将作为客户端可解析的 JSON 返回。
支持复用 cookie 的网站(以 bet365 为测试基准)之前一直停留在昂贵的浏览器解析(每次请求 15 积分),而不是在首次解析后降至低成本的 2 积分重放。存在两个 bug:任何短暂的传输错误都会触发拦截,且成功的浏览器重放从未刷新会话 cookie。已修复这两个问题。现在,对于支持复用 cookie 的网站,首次解析后的重复请求仅消耗 2 积分,与定价说明完全一致。
我们已收紧跨域访问权限,仅允许 foura.ai 携带凭证调用 API。我们还加强了 metrics endpoint 的输入过滤器,并移除了一个仅用于开发环境的备用密钥。现有的集成不受影响。
如果你在 request 中设置了 validate.status.accept,引擎会将接受的非 200 状态码视为完全成功。Activity 之前仍将这些标记为失败,从而干扰了你的使用统计数据。现在,结果将遵循你的 validate 判定,因此你接受的 403 将显示为成功,而不是 App Fail。
如果您之前通过 Single 抓取西里尔文、中文、日文或其他非 UTF-8 页面,返回的 body 往往会显示为乱码。在您看到原始字节之前,我们曾将每个 response 强制解码为 UTF-8。现在,我们从 response 中读取字符集(依次通过 Content-Type、<meta charset>,最后回退至 UTF-8)并进行正确解码。感谢 Alexandar Kanchev (Sensika) 反馈此问题。
公开网络中的一些 proxy 实际上并没有转发您的 request。它们将其作为纯文本服务器转储回显,并试图窃取其中的内容。我们现在能在 response 到达您的代码之前识别出这种模式,因此 Single、Browser 和 Proxy Finder 都会返回明确的失败(或重试),而不是垃圾数据。
我们修复了一个导致新发现的 proxy 在验证前需要等待的延迟问题。Proxy Finder 现在会立即对它们进行检测,从而使 proxy 池保持最新状态,并有更多活跃、可用的 proxy 处于轮换中。
Playground 现在可正确跟踪 Domain 属性,因此仅限主机的 cookie 会保留在对应主机上。Parsed 视图会使用 HO 标签对其进行标记,而 Raw 视图与上游发送的内容保持一致。
每个 Playground 字段现已与 schema 对齐:Browser 强制使用 GET 请求并隐藏 body 文本域,Raw 选项卡显示发送至 API 的确切 JSON 以及 curl 复现命令。
借助 unblocker: true,Single 和 Proxy Finder 现在将完整的 unblocker 签名直接携带至源站,从而让检查该签名的反机器人防护放行该 request。
某些 Cloudflare 网站会返回 200 OK,但会注入一个后台脚本,并在稍后生成真实的 cf_clearance cookie。Browser 过去会在该 cookie 到达之前返回页面,导致 jar 为空。现在 Browser 会等待 cookie 事件,因此您可以获得干净的 cf_clearance,并可以通过 Single 或 Proxy 进行重放。
博客上的 Older 按钮以前会使您跳转回第 1 页。现在,分页功能使用带有数字导航的 /blog/page/N/ URLs,以便您可以正常浏览较旧的文章。感谢 Vladimir Petrov。
浏览器现在通过 JavaScript 引擎运行每个 request,因此 Cloudflare 质询和重 JS 的页面均可按预期渲染。