用途:当工作涉及 Apify Impit 时使用本技能。Impit 通过 TLS 与 HTTP 指纹模拟浏览器请求,无需运行真实浏览器。
主要能力:支持 Node(npm)、Python(PyPI/conda)与 Rust crate 绑定;可选择通用 chrome/firefox 或带版本指纹(chrome151 为最新)、okhttp、ios18;支持 cookies、代理、HTTP/3、重定向、默认请求头与超时配置。
使用方式:先检查本地 Impit 环境,包括语言绑定、包与原生二进制版本、平台(Node ≥ 20)、客户端生命周期、指纹选择、会话需求。文档入口:source-map.md;Node/TypeScript 见 nodejs.md;Python 与 Rust 见 python-rust.md;指纹、HTTP/3、cookies、请求头优先级、multipart 边界与 Crawlee ImpitHttpClient 见 fingerprints-ops.md。Node 示例优先使用 bun / bunx。每个模拟身份复用一个客户端实例(连接池加可选 cookie jar)。
适用场景:当机器人检测拦截非浏览器客户端且无需完整浏览器时优先使用 Impit;若站点需要执行 JavaScript 或交互流程,应改用 Playwright/Puppeteer 等真实浏览器。
限制:Impit 不是无头浏览器,无页面 JS、DOM 或自动化 API。默认客户端在传入 cookieJar(JS)、cookie_jar/cookies(Python)或 with_cookie_store(Rust)前不保存 cookies。当前文档中 HTTP/3 与代理互不支持,不可同时启用。请求头优先级(不区分大小写):单次请求头 > 实例头 > 浏览器模拟默认值;空字符串可移除模拟头。响应体只能消费一次,需两个读取方时先 clone()。绑定默认值不同:Node 超时为毫秒且默认跟随重定向(最多 10 次);Python 超时为秒且 follow_redirects 默认 False(最多 20 次)。使用时应遵守站点条款、robots、速率限制与适用法律。