选择合适的 Endpoint
FourA 提供四个 request endpoint,每个均针对不同场景进行了优化。选择正确的 endpoint 可节省时间,降低成本,并提高成功率。
快速决策指南
在以下情况下使用 auto endpoint:
- 目标是一个新网站,且您尚未清楚其需求
- 您希望通过一次调用来为您处理直接请求、proxy 轮换和 browser 回退
- 您需要一个 session,以便在下次调用同一主机时以低成本重放
在以下情况下使用 single endpoint:
- 页面是服务端渲染的 (不需要 JavaScript)
- 您需要最快的速度 (通常在 1 秒以内)
- 您正在请求已知可用的主机上的 API 或静态 HTML 页面
在以下情况下使用 browser endpoint:
- 页面依赖 JavaScript 渲染内容
- 内容在初始页面加载后加载
- 您需要完全渲染的 DOM
在以下情况下使用 proxy endpoint:
- 目标网站主动拦截 request
- 您需要轮换多个 IP 地址
- 之前的尝试返回了 403 或 CAPTCHA 页面
Endpoint 比较
Auto (POST /api/auto/)
智能获取 (smart-fetch) endpoint。您传递一个 URL 和 (最好) 一个 validate 规则,FourA 会遍历一个具有成本意识的阶梯:廉价的直接探测、轮换 proxy、完整的 browser。第一个返回匹配 validate 的 response 的层级获胜。在对同一主机重复调用时,会重放预热过的 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"]}}
}'
典型 response 时间: 200ms (热) 到 30s+ (在困难网站上的冷解决) 最适合: 新目标、混合保护网站、“我只需要页面”
有关更深入的演练,请参阅 Smart Fetch 指南。
Single (POST /api/single/)
最快的选项。发送具有逼真类似 browser 传输特征的 HTTP request,而无需启动 browser 进程。
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 browser 实例中打开您的 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"
}'
典型 response 时间: 2s 到 10s 最适合: 单页应用 (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"
}
}'
典型 response 时间: 1s 到 5s 最适合: 电子商务价格监控、旅游信息聚合、具有机器人检测的网站
Auto 对比手动
何时应该让 auto 进行选择,何时应该自行调用 Single、Proxy 或 Browser?
| 选择 auto | 选择手动 |
|---|---|
| 您尚不知道网站需要什么 | 您确切知道目标需要哪种引擎 |
| 您希望一次调用就能正常工作 | 您正在为已知目标优化 request 形式 |
| 您可以接受 auto 重用其学习到的 session | 您希望完全控制每次调用的重试、超时和 proxy 选择 |
| 您愿意为首次调用支付几秒钟的探测成本 | 首次调用的延迟比发现更重要 |
Auto 并不总是更便宜的选择。如果您已经知道目标在开启 Single 和 unblocker 时有效,那么直接调用 Single 可跳过探测并花费 2 个 credit。在同一目标上使用 auto 的成本取决于其阶梯所花费的资源。
何时组合这些方法
部分工作流得益于使用多个 endpoint:
- **使用 auto 发现:**传递
validate规则,让阶梯找出网站需要的层级。 - **使用 single 重放:**获取 auto 返回的
session.proxy、session.cookies和session.userAgent,然后使用它们调用 Single 以获取同一主机上的后续页面。 - **回退到 browser:**如果 single 开始失败,请切换到 browser 渲染。
- **添加 proxy:**如果在没有 auto 的情况下被拦截 (403 / CAPTCHA),请将 request 包装在 proxy endpoint 中以进行自动轮换。
这种渐进式方法既能保持低成本,又能保持高成功率。
性能提示
- 在受保护的目标上传递
validate.data.accept子字符串。如果没有它,auto 无法区分真实页面和质询插页。 - 默认情况下对已知正常工作的主机使用 single endpoint,并仅在需要时进行升级。
- 在 browser request 中设置
checkText,以避免等待不必要的内容。 - 在 proxy request 中设置
maxTries以控制重试行为 (默认值为 5,最大值为 90)。 - 保持
timeout_ms合理:大多数页面为 10 到 15 秒,针对受保护网站的冷 auto 运行为 30s+。
后续步骤
- Smart Fetch (Auto):深入了解
/api/auto/ - API Endpoint:完整参数参考
- 抓取动态网站:逐步 browser request 指南
- 快速入门:30 秒内完成您的第一个 request