跳转到主要内容
获取令牌时遇到问题吗
联系支持

浏览器 HTTP 标头

在解决 CAPTCHA 并向目标网站发送请求时,服务器可能会考虑 HTTP 标头、Cookie 以及浏览器会话的其他参数。如果这些数据缺失或彼此不一致,服务器可能会拒绝请求、重定向用户,或要求再次验证。

在同一会话中,建议保持以下参数一致:

  • User-Agent;
  • Client Hints;
  • Cookie;
  • 浏览器语言;
  • 代理(如使用);
  • 请求参数。
重要

请使用 CapMonster Cloud 当前支持的 User-Agent:

GET https://capmonster.cloud/api/useragent/actual

在打开页面、创建任务以及使用 CAPTCHA 解决结果时,都应传递该值。

更多相关内容,请访问我们的博客

标头的用途​

标头用途
User-Agent浏览器和操作系统信息
Accept可接受的响应格式
Accept-Language首选语言
Accept-Encoding支持的压缩方式
Referer发起跳转的页面 URL
OriginPOST 和 CORS 请求中使用的请求来源
Cookie当前会话的 Cookie
Sec-CH-UA浏览器品牌和版本
Sec-CH-UA-Mobile移动端或桌面端模式
Sec-CH-UA-Platform浏览器平台
Sec-Fetch-Site请求来源与目标资源之间的关系
Sec-Fetch-Mode请求模式
Sec-Fetch-Dest请求资源的类型

应传递哪些标头​

不存在通用的标头集合,具体取决于网站和请求类型。

通常会使用:

  • User-Agent;
  • Accept;
  • Accept-Language;
  • Client Hints;
  • 与请求对应的 Sec-Fetch-*。

仅当 Cookie、Referer 和 Origin 出现在原始浏览器请求中,或当前会话确实需要时,才应传递这些标头。

不要手动设置:

  • Host;
  • Content-Length;
  • Transfer-Encoding;
  • Content-Encoding。

这些值通常由 HTTP 客户端自动生成。

会话一致性​

在同一会话中,如无必要,请不要更改:

  • User-Agent;
  • Sec-CH-UA;
  • Sec-CH-UA-Mobile;
  • Sec-CH-UA-Platform;
  • 语言;
  • 代理。

User-Agent 和 Client Hints 应描述同一个浏览器。

错误示例:

User-Agent: Chrome/150
Sec-CH-UA: "Google Chrome";v="140"

正确示例:

User-Agent: Chrome/150
Sec-CH-UA: "Chromium";v="150", "Google Chrome";v="150", "Not:A-Brand";v="99"

Cookie 也必须来自发送请求时使用的同一会话。

处理重定向​

发生重定向时,请保持以下主要会话参数不变:

  • User-Agent;
  • Client Hints;
  • Cookie;
  • 语言;
  • 代理。

与上下文相关的标头可能会变化:

  • Referer 应对应上一页面;
  • Sec-Fetch-Site 取决于当前域名;
  • 收到 Set-Cookie 后应更新 Cookie;
  • 新 URL 的 Host 应由 HTTP 客户端生成。

不要手动向其他域名发送 Cookie 或授权标头。

获取标头​

通过开发者工具​

  1. 在浏览器中打开页面。
  2. 按 F12 并切换到 Network 选项卡。
  3. 执行所需操作或重新加载页面。
  4. 选择对应的请求。
  5. 在 Headers 选项卡中,从 Request Headers 部分复制相关值。

也可以使用 Copy as cURL 或 Copy as fetch 命令复制请求。

发布示例前,请删除真实 Cookie、授权令牌以及其他敏感数据。

从浏览器会话中获取​

使用浏览器自动化时,应从当前会话中获取标头和 Cookie。不要混用不同浏览器上下文中的数据。

可使用以下方式:

  • Playwright — 请求事件、request.headers() 方法或 HAR 录制。
  • Puppeteer — 网络请求处理器或 Chrome DevTools Protocol。
  • Selenium — Chrome DevTools Protocol 或其他网络工具。
  • ZennoPoster — 当前浏览器会话中的网络请求。
  • HAR 文件 — 请求数据,包括标头、Cookie 和请求正文。
  • 代理分析工具 — 查看 HTTP(S) 流量和实际发送的标头。
  • cURL — 重现并检查通过 DevTools 中 Copy as cURL 复制的请求。

建议使用活动浏览器会话中的标头,而不是手动构造。

浏览器指纹

网站不仅可能检查 HTTP 请求头,还可能考虑浏览器环境参数,例如屏幕分辨率、时区、Canvas、WebGL 以及其他特征。

您可以使用专业的在线诊断服务检查浏览器传输的数据。

标头集合示例​

对于 HTML 页面请求,可以使用以下基础集合:

User-Agent: userAgentPlaceholder
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.9
Accept-Encoding: gzip, deflate, br
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: none
Sec-Fetch-User: ?1
Sec-CH-UA: "Chromium";v="153", "Google Chrome";v="153", "Not:A-Brand";v="99"
Sec-CH-UA-Mobile: ?0
Sec-CH-UA-Platform: "Windows"

JSON 格式:

{
"headers": {
"User-Agent": "userAgentPlaceholder",
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8",
"Accept-Language": "en-US,en;q=0.9",
"Accept-Encoding": "gzip, deflate, br",
"Upgrade-Insecure-Requests": "1",
"Sec-Fetch-Dest": "document",
"Sec-Fetch-Mode": "navigate",
"Sec-Fetch-Site": "none",
"Sec-Fetch-User": "?1",
"Sec-CH-UA": "\"Chromium\";v=\"153\", \"Google Chrome\";v=\"153\", \"Not:A-Brand\";v=\"99\"",
"Sec-CH-UA-Mobile": "?0",
"Sec-CH-UA-Platform": "\"Windows\""
}
}
Sec-Fetch-*

Sec-Fetch-* 请求头的值取决于请求上下文。本示例中的值适用于直接打开页面;如果通过其他网站的链接跳转到该页面,这些值可能会有所不同。

解决 CAPTCHA 时的使用方式​

在与目标网站交互的所有阶段,都应保持浏览器会话参数一致:

  1. 打开包含 CAPTCHA 的页面。
  2. 获取当前会话的 Cookie、标头和参数。
  3. 确定 CAPTCHA 参数,包括 websiteURL、websiteKey 以及其他必填值。
  4. 在 CapMonster Cloud 中创建任务。
  5. 获取解决结果。
  6. 在同一会话中,将解决结果(例如令牌或 Cookie)发送到验证页面或目标网站 API。

将解决结果发送到 HTML 页面​

请使用:

  • 相同的 User-Agent;
  • 匹配的 Client Hints;
  • 当前会话的 Cookie;
  • 相同的浏览器语言;
  • 相同的代理(如之前使用);
  • 原始请求中存在的 Referer 和 Origin。

通过 API 发送解决结果​

请使用原始 API 请求中的标头。

如果原始请求中没有 Sec-Fetch-User 和 Upgrade-Insecure-Requests 等浏览器导航标头,请不要额外添加。

请求顺序​

GET /page
│
├─ Cookie 和 HTTP 标头
├─ CAPTCHA 参数
│
▼
CapMonster Cloud
│
├─ 解决结果
│
▼
POST /verify
│
├─ 当前会话的 Cookie
├─ 相同的 User-Agent
├─ 匹配的 Client Hints
├─ 当前的 Referer 和 Origin
│
▼
目标网站响应
信息

通过 CAPTCHA 和其他安全验证时使用标头的示例:

常见错误​

错误检查内容
仅传递了 User-Agent添加原始请求中的相关标头
使用了不同会话的数据从同一浏览器上下文中获取标头和 Cookie
User-Agent 与 Sec-CH-UA 不匹配统一浏览器版本和平台
发送了过期 Cookie重新获取 Cookie 或处理 Set-Cookie
API 请求中使用了 HTML 导航标头使用同类型请求中的标头
手动设置了 Host 或 Content-Length删除这些标头,让 HTTP 客户端自动生成

如果请求失败,请将其与浏览器 Network 选项卡中的请求进行比较。检查 URL、方法、正文、Cookie、标头、代理以及重定向后的最终 URL。