Các trang web được bảo vệ
Các trang web hiện đại sử dụng các biện pháp phát hiện bot nâng cao. Hướng dẫn này giải thích cách FourA giúp bạn lấy nội dung trang trên các trang web có kiểm tra danh tính người gửi request, và cách tăng tỷ lệ thành công của bạn.
Cách thức phát hiện bot hoạt động
Các trang web sử dụng nhiều lớp bảo vệ:
- Uy tín IP: Các địa chỉ IP từ trung tâm dữ liệu và proxy đã biết sẽ bị chặn
- Wire fingerprinting: Mỗi HTTP client có một chữ ký bắt tay riêng biệt mà các trang web có thể phát hiện
- Browser fingerprinting: JavaScript kiểm tra các dấu hiệu của trình duyệt headless
- Phân tích hành vi: Mẫu request, thời gian và luồng điều hướng
- Trang xác minh: một tác vụ trực quan mà khách truy cập phải hoàn thành
Response nêu rõ hệ thống đã thực hiện kiểm tra; Kiểm tra trang web liệt kê danh sách này.
Cách nhanh nhất: Auto
Nếu bạn chưa biết cấp độ bảo vệ, hãy gọi /api/auto/ kèm theo chuỗi con validate.data.accept mà chỉ trang thực mới có. Auto sẽ đi qua một thang phân cấp tối ưu chi phí (proxy luân phiên, sau đó là trình duyệt qua proxy; với forceProxy: false, một probe trực tiếp giá rẻ và render trình duyệt trực tiếp sẽ được thử trước) và dừng lại ở bước đầu tiên trả về response thỏa mãn quy tắc của bạn. Khi thực hiện các lệnh gọi lặp lại đến cùng một host, phiên ấm sẽ được phát lại thay thế, giúp lượt truy cập thứ hai tiết kiệm chi phí.
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://protected-site.com/product/42",
"validate": {"data": {"accept": ["Add to cart"]}}
}'
Auto tự động nhận diện các trang thử thách phổ biến và tiếp tục xử lý khi gặp chúng. Chuỗi validate.data.accept của bạn sẽ xử lý các trường hợp còn lại: trang kiểm tra chưa nhận biết, tường đăng nhập, hoặc trang không có nội dung bạn cần. Xem hướng dẫn Smart Fetch để biết toàn bộ quy trình chi tiết.
Cách FourA hỗ trợ ở từng tầng
Request cấp độ truyền dẫn thực tế
Một endpoint duy nhất (POST /api/single/) phát ra các đặc tính bắt tay khớp với trình duyệt thực tế. Các trang web phản hồi request tương tự như với trình duyệt mà không tốn chi phí vận hành trình duyệt.
Bật unblocker để chèn thêm các header trình duyệt thực tế (User-Agent, Sec-Ch-Ua, Sec-Fetch-*, Accept-Encoding). unblocker được bật theo mặc định; chỉ đặt false khi cần gửi chữ ký client thuần túy.
{
"method": "GET",
"url": "https://protected-site.com/data",
"unblocker": true
}
Kết xuất trình duyệt thực
Endpoint trình duyệt (POST /api/browser/) chạy một phiên bản trình duyệt Chrome đầy đủ. Nó thực thi JavaScript của trang giống như trình duyệt của khách truy cập. unblocker trên Browser hoàn thành các bước kiểm tra mà trang yêu cầu trước khi tải (Turnstile và các cổng tương tự); hãy giữ bật tính năng này trừ khi bạn muốn nhận lại trang thử thách nguyên bản.
Xoay vòng Proxy
Endpoint proxy (POST /api/proxy/) tự động xoay vòng qua các proxy dân cư và trung tâm dữ liệu. Nếu một IP bị chặn, lần thử tiếp theo sẽ sử dụng một IP khác. Sử dụng ignoreProxies trong lệnh gọi tiếp theo để bỏ qua các cổng thoát đã bị chặn; sử dụng maxTries (mặc định 5, tối đa 90) để kiểm soát mức độ thử lại.
Cổng thoát theo phạm vi quốc gia
Truyền exitCountries vào /api/proxy/ để giới hạn lựa chọn cho các proxy có quốc gia hiển thị với mục tiêu khớp với danh sách cho phép nghiêm ngặt. Giá trị là mã hai chữ cái (["CZ", "GB"]), được cắt bỏ khoảng trắng, viết hoa và loại bỏ trùng lặp. FourA không bao giờ dự phòng sang một quốc gia không được yêu cầu; nếu nhóm proxy hiện tại không có kết quả phù hợp, response sẽ trả về code: "no_eligible_proxy" cùng với phạm vi đã chuẩn hóa trong details.exitCountries để bạn có thể thử lại sau mà không cần nới lỏng yêu cầu. Tính năng giới hạn phạm vi quốc gia được bao gồm từ gói Startup trở lên. Trên gói không hỗ trợ, lệnh gọi gửi exitCountries sẽ bị từ chối với 403 và X-FourA-Limit: plan_limit_feature.
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,
"exitCountries": ["CZ", "GB"],
"request": {"method": "GET", "url": "https://target.example/pricing"}
}'
Response bao gồm exitCountry khi scoping được yêu cầu. Hãy xác minh nó thuộc allowlist của bạn trước khi tin cậy payload, sau đó sử dụng lại ID proxy được trả về cho bất kỳ lệnh gọi Browser tiếp theo nào để quá trình render JavaScript diễn ra qua cùng một exit.
FourA Cho Bạn Biết Điều Gì Đã Chặn Bạn
Bạn không cần phải đoán hệ thống nào đã chặn một request. Khi mục tiêu chạy kiểm tra bot, response sẽ nêu tên hệ thống đó.
POST /api/single/vàPOST /api/proxy/trả về một đối tượngdefense:defense.vendorlà hệ thống,defense.solvedcho biết liệu quy trình kiểm tra đã được vượt qua hay chưa, vàdefense.presentliệt kê mọi thứ được nhận diện trên response đó.POST /api/browser/trả vềdefenseSolvedcùng vớidefenses.presentvàdefenses.cleared.
{
"status": 200,
"data": "<!doctype html>...",
"defense": {
"vendor": "sgcaptcha",
"solved": true,
"present": ["sgcaptcha"],
"cookie": "_I_=<clearance>"
}
}
Hai quy tắc rút ra từ điều này:
solved: falsenghĩa là body có thể là thử thách, không phải trang nội dung. FourA không bao giờ trả về trang thử thách dưới dạng nội dung, vì vậy hãy kiểm tra cờ trước khi parse.- Một lần giải thành công sẽ cấp cho bạn clearance. Khi có
defense.cookie, hãy gửi lại nó dưới dạng headerCookietrên cùng một exit với cùng User-Agent và các request tiếp theo sẽ bỏ qua bước kiểm tra hoàn toàn.
FourA nhận diện các hệ thống kiểm tra phổ biến, bao gồm các cơ chế kiểm tra first-party của eBay, Reddit, Amazon và Google Search. Khả năng nhận diện rộng hơn việc vượt qua: hệ thống mà chúng tôi có thể xác định danh tính nhưng không thể vượt qua sẽ được báo cáo và không bao giờ làm tăng chi phí của request. Khi trang trả về là trang kiểm tra của hệ thống đó, ngay cả ở mã HTTP 200, request cũng không bị tính phí và header X-FourA-Check-Page sẽ nêu tên hệ thống đó. Xem Site checks để biết mọi trường thông tin, phân loại hiện tại giữa vượt qua và phát hiện, cùng ví dụ replay.
Chiến lược theo mức độ bảo vệ
Mức độ bảo vệ chưa xác định
Sử dụng auto. Cơ chế này sẽ thăm dò ở mức chi phí thấp trước và chỉ nâng cấp khi mục tiêu bắt buộc, giúp bạn chỉ trả phí phát hiện một lần cho mỗi host.
Mức độ bảo vệ thấp (hầu hết các trang)
Sử dụng endpoint đơn với unblocker. Khớp ở cấp độ kết nối mạng là đủ.
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://news-site.com/article", "unblocker": true}'
Trung bình: trang thử thách hoặc firewall cơ bản
Sử dụng endpoint trình duyệt để vượt qua các thử thách JavaScript:
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://protected-site.com/data", "timeout_ms": 15000}'
Cao: kiểm tra hành vi và fingerprint
Sử dụng proxy endpoint với nhiều lần thử lại (retry):
curl -X POST https://eu.api.foura.ai/api/proxy/ \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"maxTries": 10,
"request": {
"method": "GET",
"url": "https://heavily-protected.com/prices",
"unblocker": true
}
}'
Đối với các trang challenge theo chuỗi ("Just a moment", điểm kiểm tra bảo mật) nơi bạn cần trang đã render sau khi vượt qua challenge, hãy xem Công thức MCP. Công thức "Protected page: proxy first, browser when JavaScript is needed" hướng dẫn chi tiết quy trình chuyển giao từ proxy sang browser.
Best Practices
Bắt đầu với auto cho các mục tiêu chưa xác định. Truyền quy tắc
validate, để hệ thống phân cấp chọn mức rẻ nhất, sau đó đọcmeta.rungtrong response để xem engine nào hoạt động hiệu quả. Khi đã biết, hãy gọi trực tiếp engine đó cho lưu lượng truy cập lặp lại.Tái sử dụng session thành công. Sau một lệnh gọi auto,
sessiontrả về (proxy ID + cookies + userAgent) có thể được phát lại qua/api/single/hoặc/api/browser/cho các trang tiếp theo trên cùng một host, theo mức giá riêng của endpoint đó: 2 credit trên Single vớiunblocker, 5 trên Browser (10 cho trang tương tác).Tuân thủ rate limit. Ngay cả khi xoay vòng proxy, việc gửi hàng trăm request mỗi giây đến một trang web duy nhất sẽ kích hoạt cơ chế phát hiện hành vi. Hãy giãn cách các request của bạn ít nhất từ 1 đến 2 giây.
Duy trì bật
unblocker. Trên Single và Proxy,unblocker: true(mặc định) sẽ gửi chữ ký browser và header thực tế. Trên Browser, nó bật trình giải challenge. Chỉ tắt tùy chọn này khi bạn thực sự cần chữ ký client thuần túy hoặc trang challenge gốc.Theo dõi tỷ lệ thành công. Kiểm tra các chỉ số Dashboard để theo dõi tỷ lệ thành công theo thời gian. Sự sụt giảm đột ngột thường có nghĩa là trang web mục tiêu đã cập nhật cơ chế bảo vệ.
Bỏ qua các exit node bị chặn. Nếu lệnh gọi
/api/proxy/hoặc/api/auto/trả về một proxy ID sau đó bắt đầu thất bại, hãy truyền ID đó vàoignoreProxiestrong lệnh gọi tiếp theo để FourA chọn một exit node khác.Đọc
defensetrước khi thử lại. Tên nhà cung cấp cho bạn biết liệu có đáng thử một profile browser khác hay không, bạn có cần render toàn bộ hay không, hoặc liệu bước kiểm tra đó có phải là loại không thể vượt qua nếu không có dịch vụ giải mã chuyên dụng.Thay đổi browser đại diện. Một số mục tiêu chấp nhận một browser cụ thể và từ chối các loại khác. Thiết lập
browser,os, hoặcversiontrên Single và Proxy, và đọcGET /api/profilesđể xem danh mục hiện tại. Chi tiết trong tài liệu tham khảo endpoint.
Giới hạn
Một số trường hợp đòi hỏi xử lý bổ sung ngoài API:
- Nội dung yêu cầu đăng nhập: FourA không quản lý các phiên đăng nhập dài hạn cho bạn. Browser endpoint chấp nhận
cookiestrên từng request; bạn cần tự truyền session cookie của mình vào. - Nhiệm vụ xác minh tương tác: FourA nhận diện các thử thách dạng hình ảnh và báo cáo trong
defense.present, nhưng không tự hoàn thành chúng. Turnstile được xử lý bởi Browser. - Nội dung bị giới hạn theo quốc gia: sử dụng
exitCountriestrên/api/proxy/để ghim lựa chọn vào các quốc gia được cho phép. Những trang web có thêm giới hạn theo ISP hoặc ASN (một số nhà cái được cấp phép theo quốc gia, một số dịch vụ chính phủ) vẫn có thể chặn các IP residential thông thường; request sẽ trả vềno_eligible_proxykhi pool hiện tại không có IP exit phù hợp. - Các trang web có hạn chế pháp lý: Luôn đảm bảo việc thu thập dữ liệu của bạn tuân thủ điều khoản dịch vụ của trang web đích và luật pháp hiện hành.
Next Steps
- Smart Fetch (Auto): Tìm hiểu sâu về
/api/auto/ - Choosing the Right Endpoint: Hướng dẫn lựa chọn endpoint phù hợp
- Common Issues: Xử lý lỗi 403 và các trang xác minh
- API Endpoints: Tài liệu tham khảo đầy đủ về tham số bao gồm
exitCountries - Site checks: Trường
defense, danh sách hệ thống và replay clearance - MCP Recipes: Các mẫu workflow bao gồm chuỗi proxy trước rồi đến browser