Playground

Playground (thanh bên > Playground) cho phép bạn chạy các API request trực tiếp với key thực tế của mình mà không cần viết mã. Đây là cách nhanh nhất để thử nghiệm một trang web mục tiêu mới, debug một response phức tạp hoặc so sánh Single, Proxy và Browser trực quan cạnh nhau.

Mở công cụ tại foura.ai/dashboard#playground.

What It Does

Một biểu mẫu. Ba engine. Traffic thực tế.

  • Single: fetch HTTP trực tiếp với các đặc tính đường truyền thực tế giống như trình duyệt
  • Proxy: fetch qua proxy xoay vòng được quản lý
  • Browser: mở URL trong một instance trình duyệt Chrome cho các trang web render bằng JS

Các request được chạy bằng API key bạn chọn ở đầu trang. Lượng sử dụng sẽ được tính vào quota của key đó giống như một cuộc gọi production thực tế, vì vậy hãy lưu ý để không dùng hết gói dịch vụ của bạn khi thử nghiệm.

Picking a Key

Menu thả xuống API key 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 mà bạn quản trị và các key chia sẻ trong nhóm mà bạn có quyền truy cập. Chọn key bạn muốn tính phí cho request. Nếu bạn chưa có bất kỳ key nào đang hoạt động, một thông báo nội dòng sẽ liên kết bạn đến trang API Keys để tạo mới.

Choosing a Product

Ba nút chuyển đổi (pill) nằm phía trên biểu mẫu: Single, Proxy, Browser. Việc chuyển đổi giữa các nút này sẽ thay đổi các trường hiển thị và engine mà request sẽ gửi tới. Lựa chọn hiện tại sẽ được giữ nguyên khi bạn tải lại trang.

Product Khi nào nên sử dụng
Single Fetch HTTP nhanh. Lựa chọn đầu tiên tốt nhất cho mọi URL.
Proxy Cùng một phương thức fetch với tính năng xoay vòng proxy tự động. Sử dụng khi Single liên tục bị chặn.
Browser Tải trang trong một instance trình duyệt Chrome. Sử dụng khi dữ liệu chỉ xuất hiện sau khi JavaScript khởi chạy.

Building the Request

URL Row

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 hỗ trợ mọi phương thức. Browser bỏ qua phương thức (Chrome luôn phát lệnh GET để điều hướng) và body.

Request Tabs

Bên dưới hàng URL, năm tab cho phép bạn điền mọi thông tin khác:

Tab Thành phần điều khiển
UI Các trường biểu mẫu cho timeout, redirect, flag, proxy, các tùy chọn dành riêng cho trình duyệt và quy tắc validate
Body Body tự do cho các request POST / PUT / PATCH
Headers Các request header tùy chỉnh dưới dạng cặp key-value
Cookies Cookie để gửi cùng với request
Raw Payload JSON chính xác sẽ được gửi, có thể chỉnh sửa trực tiếp

Bất kỳ thay đổi nào của bạn trong UI / Body / Headers / Cookies đều được phản ánh trong Raw. Việc chỉnh sửa Raw cũng hoạt động tương tự, các tab khác sẽ tự động cập nhật để khớp theo.

UI Pane Sections

Tab UI nhóm các cài đặt vào các phần có thể thu gọn. Các trường trống sẽ tự động quay về giá trị mặc định trong schema của engine.

  • Timeouts: timeout_ms, connect_timeout_ms, accept_timeout_ms, server_response_timeout_ms, dns_cache_timeout_sec
  • Redirects: bật tắt và thiết lập followRedirects (0-20). Chỉ áp dụng cho Single + Proxy. Browser tự động theo dõi các redirect.
  • Flags: unblocker, tryJsonData, returnBuffer. Single + Proxy.
  • Proxy: chọn một proxy ID cụ thể cho Single hoặc Browser, hoặc thiết lập maxTries, timeout bên ngoài của Proxy và ignoreProxies cho engine Proxy.
  • Browser: các tùy chọn chỉ dành cho trình duyệt như checkStatuscheckText.
  • Validate: các quy tắc chấp nhận / từ chối của validate.status (status code), validate.headers (quy tắc key-value của header) và validate.data (các chuỗi con chấp nhận / từ chối trong body, các lựa chọn thay thế phân tách bằng dấu |).

Các trường không áp dụng cho sản phẩm đang được chọn sẽ bị ẩn.

Toolbar Reset

Nút Reset trên thanh công cụ (bên cạnh History) sẽ xóa biểu mẫu của sản phẩm đang hoạt động về lại mặc định. Các giá trị mặc định sẽ giữ cho unblockertryJsonData được bật, phù hợp với điểm khởi đầu phổ biến nhất. Hãy sử dụng nút này khi bạn đã thay đổi quá nhiều so với cấu hình hoạt động ban đầu và muốn bắt đầu lại từ đầu mà không cần tải lại trang.

Sending and Canceling

Nhấp vào Send để kích hoạt request. Cột bên phải chuyển sang trạng thái tải với biểu tượng spinner và nút Cancel trong khi cuộc gọi đang được thực hiện. Nhấp vào Cancel (hoặc nhấn lại nút này trên thiết bị di động) để hủy bỏ. Một request bị hủy sẽ khôi phục lại khung giữ chỗ rảnh rỗi với nội dung "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 thất bại).

Reading the Response

Cột response mô phỏng lại bố cục của request với các tab riêng:

Tab Thành phần hiển thị
Body Body đã được parse. Chuyển đổi giữa các chế độ xem JSON, HTML và Text tùy thuộc vào dữ liệu trả về.
Headers Các response header, mỗi dòng một header.
Cookies Các cookie được trả về bởi mục tiêu, ở cả chế độ xem đã parse (nhóm theo host) và raw (văn bản Set-Cookie). Chế độ xem đã parse hiển thị một badge HO trên các cookie host-only, các cookie domain không được đánh dấu.
Raw Toàn bộ envelope JSON được trả về bởi API.

Một thanh meta phía trên các tab hiển thị HTTP status của upstream, tổng thời gian và (đối với các request Proxy / single-with-proxy-id) proxy ID đã xử lý cuộc gọi. Các nút sao chép và tải xuống nằm ở góc trên bên phải của mỗi khung, vì vậy bạn có thể tải body hoặc header vào một tệp chỉ với một cú nhấp chuột.

Expand to Full Screen

Biểu tượng mở rộng trên thanh công cụ response sẽ đưa thẻ response ra khỏi bố cục chia đôi và chuyển vào một 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 phân cấp sâu, các bản ghi Set-Cookie dài hoặc các body HTML rộng khi cột nửa chiều rộng bị chật chội. Bản thân trang web sẽ ngừng cuộn khi lớp phủ đang mở. Nhấp lại vào biểu tượng (hoặc nhấn Escape) để thu gọn.

The curl Reproducer

Bên dưới response, một khối curl hiển thị dòng lệnh tương đương chính xác với request bạn vừa xây dựng. Sao chép lệnh này để tái tạo (repro) request từ terminal, chia sẻ với đồng nghiệp hoặc dán vào báo cáo lỗi.

Đối với các key có thể hiển thị, nút Reveal key bên cạnh đoạn mã sẽ đưa key dạng plain-text thực tế trực tiếp vào lệnh curl để bạn có thể sao chép và chạy ngay lập tức. Nhấp lại để ẩn. Các key cũ (được tạo trước khi tính năng hiển thị được ra mắt) sẽ giữ chỗ bằng PASTE_PLAINTEXT_FOR_<key-name>, hãy tạo lại key từ trang API Keys để có thể hiển thị.

Việc hiển thị key luôn được ghi lại trong nhật ký kiểm tra (audit log) trên server và key dạng plain chỉ tồn tại trong bộ nhớ của phiên làm việc trang hiện tại.

Saving Presets

Nếu bạn thấy mình phải liên tục cấu hình lại cùng một mục tiêu, hãy lưu nó lại. Nhấp vào Save trên hàng tab request để lưu cấu hình hiện tại dưới dạng một preset có tên.

Mở Saved trên 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 lại cấu hình đó vào biểu mẫu.

Trường Preset Thành phần lưu trữ
Name Một nhãn ngắn (tối đa 100 ký tự)
Description Ghi chú tùy chọn (tối đa 500 ký tự)
Endpoint Preset này dành cho sản phẩm nào (single / proxy / browser)
Config Toàn bộ payload của 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 khác trong nhóm.

Replaying from History

Mọi request bạn chạy đều được ghi nhật ký. Mở History trên thanh công cụ để xem 20 lượt chạy gần nhất của bạn, được sắp xếp theo thứ tự mới nhất trước.

Mỗi dòng hiển thị endpoint, URL mục tiêu, trạng thái và thời gian. Nhấp vào Replay trên bất kỳ dòng nào để tải lại request đó vào biểu mẫu, sau đó nhấn Send để chạy lại.

Lịch sử được tự động giới hạn trong tài khoản của bạn: bạn chỉ thấy các lượt chạy của chính mình.

Opening from Activity

Hộp thoại chi tiết của Activity Log có nút Open in Playground. Nhấp vào đó và Playground sẽ tải cả request đã lưu trữ và response đã lưu trữ. Biểu mẫu sẽ tự động điền từ payload đã lưu, và thẻ response sẽ hiển thị những gì API đã trả về tại thời điểm đó với một badge "archived" trên thanh 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 với API thực tế, hoặc chỉ kiểm tra payload đã lưu trữ mà không cần chạy lại. Các payload được lưu giữ trong 24 giờ, vì vậy các dòng Hoạt động cũ hơn sẽ không có response để tải lại.

Tips

  • Hãy bắt đầu trong Playground trước khi viết mã cho một mục tiêu mới. Bạn sẽ biết ngay trong vài giây liệu Single đã đủ hay bạn cần đến Browser.
  • Lưu một preset cho mỗi mục tiêu bạn cào dữ liệu (scrape) thường xuyên. Việc phát lại một preset đã lưu chỉ mất một cú nhấp chuột, trong khi việc tự 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 cào dữ liệu dựa trên phiên (session-based scraping). Chế độ xem Set-Cookie dạng raw hiển thị chính xác những gì mục tiêu đã gửi.
  • Các request trong Playground được tính phí dựa trên key bạn chọn. Hãy sử dụng một key có quota thấp chuyên dụng cho việc khám phá thông thường nếu bạn muốn giữ cho lượng sử dụng production được sạch sẽ.
  • API Endpoints: Tài liệu tham khảo tham số đầy đủ cho cả ba sản phẩm
  • Choosing the Right Endpoint: Khi nào nên chọn Single so với Proxy so với 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ở một request trong quá khứ trực tiếp vào Playground
  • Dashboard Overview: Tất cả các phần trên thanh bên
Cập nhật: 30 tháng 6, 2026