Playground
Trình Playground (sidebar > Playground) cho phép bạn thực hiện các lệnh gọi API trực tiếp bằng key thực của bạn mà không cần viết code. Đây là cách nhanh nhất để thử một trang mục tiêu mới, gỡ lỗi một phản hồi khó chịu hoặc so sánh Auto, Single, Proxy và Browser cùng nhau.
Mở trình này tại foura.ai/dashboard#playground.
Chức năng của trình
Một biểu mẫu. Bốn công cụ. Lưu lượng thực.
- Auto: fetch thông minh. Bạn truyền một URL cộng với quy tắc
validatevà FourA sẽ chọn đường dẫn rẻ nhất hoạt động được. - Single: HTTP fetch trực tiếp với đặc tính mạng giống như trình duyệt thực tế
- Proxy: fetch proxy luân phiên được quản lý, tùy chọn giới hạn ở các quốc gia hiển thị với mục tiêu
- Browser: mở URL trong một phiên bản trình duyệt Chrome dành cho các trang web hiển thị bằng JS
Các request được chạy dựa trên API key mà bạn chọn ở đầu trang. Việc sử dụng sẽ được tính vào hạn ngạch của key đó giống như một cuộc gọi production, vì vậy đừng lãng phí gói của bạn khi thử nghiệm.
Chọn một Key
Menu API key thả xuống hiển thị mọi key đang hoạt động trong phạm vi của bạn: key cá nhân, key tổ chức bạn quản trị và key dùng chung cho nhóm bạn có quyền truy cập. Chọn key bạn muốn request lập hóa đơn. Nếu bạn chưa có bất kỳ key nào đang hoạt động, lời nhắc nội tuyến sẽ liên kết bạn đến trang API Keys để tạo một key.
Chọn một Mode
Một hàng Mode ở trên cùng chuyển đổi giữa Auto và các công cụ thủ công. Khi chọn Auto, biểu mẫu sẽ chuyển sang giao diện Auto tối giản (URL cộng với validate cộng với một vài nút xoay). Khi bạn tắt Auto, ba nút sẽ xuất hiện: Single, Proxy, Browser. Việc chuyển đổi các nút sẽ hoán đổi các trường nào được hiển thị và công cụ nào request sẽ đi qua. Lựa chọn hiện tại sẽ được giữ lại khi bạn tải lại trang.
| Mode | Khi nào nên dùng |
|---|---|
| Auto | Mục tiêu mới hoặc trang web bảo vệ hỗn hợp. Auto chọn đường dẫn rẻ nhất và ghi nhớ đường dẫn nào hoạt động. |
| Single | HTTP fetch nhanh. Lựa chọn đầu tiên tốt nhất cho một host đã biết. |
| Proxy | Cùng fetch với luân phiên proxy tự động. Đặt exitCountries khi bạn cần một quốc gia hiển thị với mục tiêu. |
| Browser | Tải trang trong phiên bản trình duyệt Chrome. Dùng khi dữ liệu chỉ hiển thị sau khi JavaScript chạy. |
Xây dựng Request
Hàng URL
Hàng trên cùng chứa phương thức HTTP (GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS), URL mục tiêu và nút Send. Single, Proxy và Auto hỗ trợ mọi phương thức. Browser bỏ qua phương thức (Chrome luôn phát hành GET cho điều hướng) và phần thân.
Các tab Request
Dưới hàng URL, năm tab cho phép bạn điền thông tin khác:
| Tab | Kiểm soát điều gì |
|---|---|
| UI | Các trường biểu mẫu cho timeout, chuyển hướng, cờ, proxy, các tùy chọn dành riêng cho trình duyệt và các quy tắc validate |
| Body | Phần thân tự do cho các request POST / PUT / PATCH |
| Headers | Các header request tùy chỉnh ở dạng cặp khóa-giá trị |
| Cookies | Cookie cần gửi cùng với request |
| Raw | Payload JSON chính xác sẽ được gửi đi, có thể chỉnh sửa trực tiếp |
Bất cứ thay đổi nào của bạn trong UI / Body / Headers / Cookies đều được phản ánh trong Raw. Chỉnh sửa Raw cũng hoạt động, với các tab khác sẽ cập nhật để khớp theo. Một dấu chấm đỏ xuất hiện trên bất kỳ tab hoặc phần mở rộng nào chứa giá trị khác với mặc định của engine, vì vậy bạn có thể nhận ra ngay những gì bạn đã tùy chỉnh.
UI Pane Sections
Tab UI nhóm các cài đặt thành các phần có thể thu gọn. Các trường trống sẽ dùng lại giá trị mặc định của schema engine. Các phần không áp dụng cho Mode hiện tại sẽ bị ẩn.
- Timeouts:
timeout_ms,connect_timeout_ms,accept_timeout_ms,server_response_timeout_ms,dns_cache_timeout_sec. Auto chỉ hiển thịtimeout_ms(tổng ngân sách). - Redirects: bật/tắt và thiết lập
followRedirects(0-20). Single, Proxy, Auto. Browser tự mình đi theo các chuyển hướng. - Flags:
unblockercho Single, Proxy, và Browser (unblocker trên Browser kích hoạt trình giải quyết phòng thủ tự động);tryJsonDatavàreturnBuffercho Single và Proxy. Thay vào đó, Auto hiển thịforceProxyvàreturnSession. - Proxy: chọn một proxy ID cụ thể cho Single hoặc Browser, hoặc thiết lập
maxTries, outer timeout của Proxy,exitCountries, vàignoreProxiescho Proxy engine. Auto cũng hiển thịignoreProxies. - Browser profile: ba menu thả xuống xếp tầng, os, browser, và version, liệt kê những gì FourA thực sự có thể trình bày. Chúng xuất hiện trong chế độ Single và Proxy. Để trống chúng cho Chrome mới nhất. Mỗi lựa chọn sẽ thu hẹp hai lựa chọn còn lại, vì vậy một kết hợp không giải quyết được gì sẽ không bao giờ xuất hiện. Phần này cần bật Web Unblocker: nếu tắt nó, sẽ không có browser header nào được gửi, một profile sẽ chỉ áp dụng được một nửa, và thay vào đó API sẽ từ chối request.
- Browser: các tùy chọn chỉ dành cho browser như
checkStatusvàcheckText. - Validate: các quy tắc chấp nhận / thất bại cho
validate.status(mã trạng thái),validate.headers(các quy tắc key-value của header), vàvalidate.data(các chuỗi con chấp nhận / thất bại của body, các phương án thay thế được phân tách bằng|). Khả dụng cho mọi Mode, bao gồm Auto.
Giới hạn phạm vi Exit Country (Proxy Mode)
Trường exitCountries trên Proxy chấp nhận một danh sách phân tách bằng dấu phẩy gồm các mã quốc gia hai chữ cái có thể nhìn thấy được từ mục tiêu (CZ, GB). Các giá trị được cắt bớt khoảng trắng, viết hoa, và loại bỏ trùng lặp khi submit. Lựa chọn là một allowlist nghiêm ngặt: các proxy có exit không xác định sẽ bị loại trừ và request không bao giờ chuyển sang một quốc gia khác. Nếu pool hiện tại không có kết quả khớp, response sẽ trả về code: "no_eligible_proxy" với phạm vi được yêu cầu lặp lại trong details.exitCountries. Hãy giữ nguyên phạm vi và thử lại sau.
Khi một lệnh gọi proxy thành công trong phạm vi, dải response sẽ hiển thị exit <CODE> bên cạnh proxy ID để bạn có thể xác minh quốc gia được phục vụ khớp với những gì bạn đã yêu cầu.
Đặt lại Toolbar
Nút Reset trên thanh công cụ (bên cạnh History và Saved) sẽ xóa playground về trạng thái ban đầu. Vì thao tác này mang tính phá hủy, nó sẽ mở một hộp thoại xác nhận liệt kê chính xác những gì sẽ bị xóa: cả ba biểu mẫu sản phẩm (Single, Proxy, Browser), bất kỳ cookie nào đã lưu trong hũ, bất kỳ proxy nào được mang theo và response hiện tại. Các preset đã lưu và API key đã chọn được giữ lại. Nhấp vào Reset everything để xác nhận; bất kỳ hành động nào khác sẽ hủy bỏ.
Sending and Canceling
Nhấp vào Send để thực hiện request. Cột bên phải sẽ chuyển sang trạng thái đang tải với một spinner và nút Cancel trong khi lệnh gọi đang được thực hiện. Nhấp vào Cancel (hoặc nhấn lại vào nút trên thiết bị di động) để hủy. Một request bị hủy sẽ khôi phục placeholder ở chế độ chờ với thông báo "Request canceled." thay vì hiển thị lỗi.
Thẻ response sẽ chuyển sang kết quả ngay khi request hoàn tất (hoặc không thành công). Quá trình chạy Auto có thể mất nhiều thời gian hơn so với các manual engine vì thang có thể phải leo qua nhiều bậc trên một mục tiêu chưa được khởi động.
Reading the Response
Cột response phản chiếu bố cục request với các tab riêng của nó:
| Tab | What it shows |
|---|---|
| Body | Body đã được phân tích cú pháp. Chuyển đổi giữa các chế độ xem JSON, HTML và Text tùy thuộc vào kết quả trả về. |
| Headers | Các response header, mỗi dòng một header. |
| Cookies | Cookies được trả về bởi mục tiêu, ở cả chế độ xem được phân tích cú pháp (được nhóm theo host) và chế độ xem thô (văn bản Set-Cookie). Chế độ xem được phân tích cú pháp hiển thị huy hiệu HO trên các cookie chỉ dành cho host; domain cookie không được đánh dấu. |
| Raw | Toàn bộ JSON envelope được API trả về. |
Một dải meta phía trên các tab hiển thị trạng thái HTTP upstream, tổng thời gian, proxy ID đã xử lý cuộc gọi và (đối với cuộc gọi Proxy có phạm vi) hai chữ cái exit <CODE>. Đối với các lần chạy Auto, dải này cũng hiển thị bậc thang nào đã cung cấp response, số lần thử phụ đã thực hiện và số credit đã sử dụng.
Carry Values Between Runs
Sau bất kỳ lần chạy nào trả về dữ liệu phiên có thể tái sử dụng, một điều khiển Carry nhỏ trên thanh công cụ response sẽ hiển thị những gì có sẵn:
- Các lần chạy Auto cung cấp bộ ba
sessionđầy đủ (proxy,cookies,userAgent). - Các lần chạy Browser cung cấp response
userAgent, cộng với proxy ID nếu có. - Các lần chạy Proxy cung cấp proxy ID được trả về.
Nhấp vào Carry và chọn vị trí áp dụng từng giá trị trong một lần nhấp: userAgent sẽ trở thành header User-Agent trên Single hoặc Proxy, và proxy ID sẽ được thả vào trường proxy trên Single hoặc Browser. Các trường nhận được một giá trị được chuyển mang theo sẽ hiển thị một chấm đỏ "modified" để bạn có thể thấy những gì đã thay đổi.
Expand to Full Screen
Biểu tượng mở rộng trên thanh công cụ response sẽ nâng thẻ response ra khỏi bố cục phân chia và chuyển thành lớp phủ toàn màn hình. Hãy sử dụng tính năng này cho các cây JSON sâu, các kết xuất Set-Cookie dài hoặc các HTML body rộng, nơi cột có chiều rộng một nửa bị chật hẹp. Bản thân trang sẽ ngừng cuộn trong khi lớp phủ đang mở. Nhấp vào biểu tượng một lần nữa (hoặc nhấn Escape) để thu gọn.
The curl Reproducer
Bên dưới response, một khối curl hiển thị chính xác dòng lệnh tương đương của request bạn vừa tạo. Sao chép nó để repro request từ một terminal, chia sẻ với đồng đội, hoặc dán vào một báo cáo lỗi.
Đối với các key có thể tiết lộ, một nút Reveal key bên cạnh snippet sẽ thả key văn bản gốc thực sự thẳng vào curl để bạn có thể sao chép và chạy như cũ. Nhấp lại để ẩn. Các key cũ (được tạo trước khi tính năng tiết lộ xuất xưởng) giữ một placeholder PASTE_PLAINTEXT_FOR_<key-name>; tạo lại key từ trang API Keys để làm cho nó có thể tiết lộ được.
Việc tiết lộ được ghi nhật ký kiểm toán trên máy chủ mỗi lần, và key gốc chỉ sống trong bộ nhớ cho phiên trang hiện tại.
Saving Presets
Nếu bạn thấy mình phải định cấu hình lại cùng một target nhiều lần, hãy lưu nó. Nhấp Save trên hàng tab request để lưu trữ cấu hình hiện tại như một preset có tên.
Mở Saved trong thanh công cụ để duyệt, đổi tên, hoặc xóa các preset của bạn. Nhấp vào bất kỳ preset nào để tải nó trở lại vào biểu mẫu.
| Trường Preset | Những gì nó lưu trữ |
|---|---|
| Tên | Một nhãn ngắn (tối đa 100 ký tự) |
| Mô tả | Ghi chú tùy chọn (tối đa 500 ký tự) |
| Endpoint | preset dành cho engine nào (auto / single / proxy / browser) |
| Cấu hình | Toàn bộ payload request, bao gồm các trường UI, header, cookie và body |
Các Preset được giới hạn trong tài khoản người dùng của bạn và không được chia sẻ với các thành viên trong nhóm.
Replaying from History
Mọi request bạn chạy đều được ghi lại. Mở History trong thanh công cụ để xem 20 lần chạy cuối cùng của bạn, sắp xếp mới nhất trước.
Mỗi hàng hiển thị endpoint, URL đích, trạng thái và thời gian. Nhấp vào Replay trên bất kỳ hàng nào để tải lại request đó vào biểu mẫu, sau đó Send để chạy lại.
History được tự động giới hạn trong tài khoản của bạn: bạn chỉ nhìn thấy các lần chạy của riêng mình.
Opening from Activity
Hộp thoại chi tiết Activity Log có nút Open in Playground. Nhấp vào nó và Playground sẽ tải cả request đã lưu trữ và response đã lưu trữ. Biểu mẫu điền từ payload được lưu trữ, và thẻ response hiển thị những gì API trả về tại thời điểm đó với huy hiệu "archived" trên dải meta proxy ("archived
Từ đó, bạn có thể thay đổi một tham số và nhấn Send để chạy một request mới dựa trên API trực tiếp, hoặc chỉ kiểm tra payload đã lưu trữ mà không cần chạy lại nó. Các payload được giữ lại trong 24 giờ, vì vậy các hàng Activity cũ hơn sẽ không có response có thể tải lại.
Tips
- Bắt đầu trong Playground trước khi viết mã cho một mục tiêu mới. Khi bật Auto, bạn sẽ biết trong vài giây liệu một lệnh fetch đơn giản là đủ hay trang web yêu cầu một trình duyệt giải quyết (browser solve).
- Đối với các mục tiêu bị khóa theo quốc gia, hãy chạy một lệnh gọi Proxy có đặt
exitCountries, sau đó chuyển ID proxy được trả về vào một lệnh gọi Browser để quá trình kết xuất JavaScript diễn ra qua cùng một đường ra. - Lưu preset cho mọi mục tiêu bạn thường xuyên scrape. Chạy lại một preset đã lưu chỉ cần một cú nhấp chuột, việc xây dựng lại request từ trí nhớ sẽ mất nhiều thời gian hơn.
- Sử dụng tab Cookies để debug quá trình scrape dựa trên session. Chế độ xem Set-Cookie thô hiển thị chính xác những gì mục tiêu đã gửi.
- Khi mục tiêu từ chối bạn, hãy thử một tùy chọn khác trong danh sách chọn Browser profile trước khi dùng đến một engine nặng hơn. Việc hoán đổi trình duyệt được trình bày là miễn phí, kết xuất trình duyệt (browser render) thì không.
- Các request trong Playground sẽ bị tính phí vào key mà bạn chọn. Sử dụng một key có hạn mức thấp riêng biệt để khám phá thông thường nếu bạn muốn giữ cho việc sử dụng trên production được rõ ràng.
Có liên quan
- API Endpoints: Tài liệu tham khảo toàn bộ tham số cho cả bốn engine, bao gồm
exitCountriesvà các trường của browser profile - Smart Fetch (Auto): Auto hoạt động như thế nào ở bên trong
- Choosing the Right Endpoint: Khi nào nên chọn Auto, Single, Proxy hoặc Browser
- API Keys: Quản lý các key bạn dùng để xác thực các request trong Playground
- Activity Log: Mở thẳng một request cũ vào Playground
- Dashboard Overview: Tất cả các phần trên thanh bên