选择合适的 Endpoint
FourA 提供四个 request endpoint,分别针对不同场景进行了优化。选择合适的 endpoint 可以节省时间、降低成本并提高成功率。
快速决策指南
在以下情况下使用 auto endpoint:
- 目标是新站点,且尚不清楚其具体要求
- 希望通过单次调用自动处理直连、proxy 轮换以及浏览器回退
- 需要一个可在下次请求相同主机时低成本重放的 session
在以下情况下使用 single endpoint:
- 页面为服务端渲染(无需 JavaScript)
- 需要极致速度(通常在 1 秒以内)
- 请求已知可用的主机上的 API 或静态 HTML 页面
在以下情况下使用 browser endpoint:
- 页面依赖 JavaScript 渲染内容
- 内容在初始页面加载完成后异步载入
- 需要完整渲染后的 DOM
在以下情况下使用 proxy endpoint:
- 目标站点主动拦截 request
- 需要轮换多个 IP 地址
- 之前的尝试返回了 403 或验证页面
Endpoint 对比
Auto (POST /api/auto/)
智能抓取 endpoint。传入 URL 和(推荐)validate 规则,FourA 会按成本感知阶梯依次尝试:首先使用轮换 proxy,然后通过 proxy 启动完整浏览器。设置 forceProxy: false 后,系统会在上述步骤前先执行低成本的直连探测和直连浏览器渲染。首个返回匹配 validate 响应的层级生效。对相同主机的重复调用将重放热 session,从而降低第二次调用的成本。
curl -X POST https://eu.api.foura.ai/api/auto/ \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com/product/42",
"validate": {"data": {"accept": ["Add to cart"]}}
}'
典型响应时间: 200ms(预热)至 30s+(高防站点冷启动解密) 适用场景: 新目标、混合防护站点、“只需获取页面内容”
更深入的操作指引,请参阅 Smart Fetch 指南。
Single (POST /api/single/)
最快的选项。发送具有真实浏览器特征的 HTTP request,无需启动浏览器进程。
curl -X POST https://eu.api.foura.ai/api/single/ \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"method": "GET", "url": "https://example.com/api/products"}'
典型 response 时间: 200ms 至 2s 适用场景: API、新闻网站、博客、静态产品页面
Browser (POST /api/browser/)
在 Chrome 浏览器实例中打开您的 URL。页面完整加载并执行 JavaScript,最终返回渲染后的 HTML。
curl -X POST https://eu.api.foura.ai/api/browser/ \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com/spa-app",
"timeout_ms": 15000,
"checkText": "data-table"
}'
典型响应时间: 2秒至10秒 最适用于: 单页面应用(SPA)、含懒加载的站点、JavaScript 渲染的内容
Proxy (POST /api/proxy/)
结合 HTTP request 与自动 proxy 轮换。如果首次尝试失败或被拦截,FourA 会通过不同的 proxy 重试。
curl -X POST https://eu.api.foura.ai/api/proxy/ \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"maxTries": 5,
"request": {
"method": "GET",
"url": "https://example.com/pricing"
}
}'
典型响应时间: 1 秒至 5 秒 适用场景: 电商价格监控、旅游数据聚合、带反爬检测的网站
Auto 对比 Manual
什么时候该让 Auto 自动选择,什么时候该手动调用 Single、Proxy 或 Browser?
| 选择 Auto | 选择 Manual |
|---|---|
| 尚不清楚目标网站的具体需求 | 明确知道目标网站所需的引擎 |
| 希望单次调用直接成功 | 正在针对已知目标优化 request 结构 |
| 接受 Auto 复用已学习到的 session | 需要完全控制每次调用的重试、timeout 和 proxy 选择 |
| 愿意为首次调用的几秒探测耗时买单 | 首次调用的延迟比自动探测更关键 |
Auto 并不总是更便宜的选择。如果你已知某个目标可以通过开启 unblocker 的 Single 正常工作,直接调用 Single 会跳过探测并仅消耗 2 个 credit。在同一目标上使用 Auto 则会消耗其梯度探测实际花费的费用。
组合使用方案
某些工作流可以通过组合多个 endpoint 获益:
- 使用 Auto 探测:传入
validate规则,让阶梯机制判断目标网站所需的配置层级。 - 使用 Single 重放:提取 Auto 返回的
session.proxy、session.cookies和session.userAgent,并在同主机的后续页面请求中直接调用 Single。 - 回退至 Browser:如果 Single 开始失败,切换至 Browser 渲染。
- 添加 Proxy:如果在未启用 Auto 时被拒绝(返回 403 或验证页面),将 request 包装在 Proxy endpoint 中进行自动轮换。
这种渐进式方案既能保持高成功率,又能控制成本。
性能提示
- 在受保护的目标上传入
validate.data.accept子字符串。Auto 本身能识别常见的挑战页面,但只有你的自定义规则才能捕获未知的验证页面,或缺少所需内容的页面。 - 对于已知可用的主机,默认使用 Single endpoint,仅在必要时升级。
- 在 Browser request 中设置
checkText,以便在渲染出的页面缺少所需内容时返回失败(checkText:<text> not found)而非成功。checkText不会让 FourA 额外等待文本出现。 - 在 Proxy request 中设置
maxTries以控制重试行为(默认为 5,最大值为 90)。 - 保持合理的
timeout_ms设置:大多数页面为 10 到 15 秒,针对受保护网站的 Auto 冷启动则为 30 秒以上。
后续步骤
- Smart Fetch (Auto):深入了解
/api/auto/ - API Endpoints:完整参数参考
- 抓取动态网站:逐步 Browser request 指南
- 快速入门:30 秒内完成首次 request