Playground
Playground(サイドバー > Playground)を使用すると、コードを記述することなく、実際のキーに対してライブAPI requestを実行できます。これは、新しいターゲットサイトを試したり、トリッキーなresponseをデバッグしたり、Single、Proxy、Browserを並べて比較したりするための最も速い方法です。
foura.ai/dashboard#playground で開きます。
機能概要
1つのフォーム。3つのエンジン。実際のトラフィック。
- Single: リアルなブラウザ風の通信特性を備えた直接HTTPフェッチ
- Proxy: 管理されたローテーションproxyフェッチ
- Browser: JSレンダリングされたサイト向けに、ChromeブラウザインスタンスでURLを開きます
requestは、ページ上部で選択したAPI keyに対して実行されます。使用量は本番環境の呼び出しと同様にそのkeyのクォータにカウントされるため、テストでプランを使い果たさないように注意してください。
キーの選択
API keyのドロップダウンには、個人キー、管理している組織キー、アクセス可能なチーム共有キーなど、スコープ内のすべてのアクティブなキーが表示されます。requestの課金対象にしたいキーを選択してください。アクティブなキーがまだない場合は、インラインプロンプトからAPI Keysページにリンクして作成できます。
プロダクトの選択
フォームの上部には、Single、Proxy、Browserの3つのピルボタンがあります。ピルを切り替えると、表示されるフィールドとrequestが送信されるエンジンが切り替わります。現在の選択状態は、ページをリロードしても保持されます。
| プロダクト | 使用するタイミング |
|---|---|
| Single | 高速なHTTPフェッチ。あらゆるURLに対する最初の選択肢として最適です。 |
| Proxy | 自動proxyローテーションを伴う同様のフェッチ。Singleがブロックされ続ける場合に使用します。 |
| Browser | Chromeブラウザインスタンスでページを読み込みます。JavaScriptが実行された後にのみデータが表示される場合に使用します。 |
リクエストの構築
URL行
最上部の行には、HTTPメソッド(GET、POST、PUT、PATCH、DELETE、HEAD、OPTIONS)、ターゲットURL、およびSendボタンがあります。SingleとProxyはすべてのメソッドに対応しています。Browserはメソッド(Chromeはナビゲーションに常にGETを発行します)とbodyを無視します。
リクエストタブ
URL行の下にある5つのタブで、それ以外のすべての項目を入力できます。
| タブ | 制御する項目 |
|---|---|
| UI | タイムアウト、リダイレクト、フラグ、proxy、ブラウザ固有のオプション、および検証ルールのフォームフィールド |
| Body | POST / PUT / PATCH request用のフリーフォームのbody |
| Headers | キーと値のペアとしてのカスタムrequest header |
| Cookies | requestとともに送信するcookie |
| Raw | 送信される正確なJSONペイロード(直接編集可能) |
UI、Body、Headers、Cookiesで変更した内容はすべてRawに反映されます。Rawを編集することも可能で、その場合は他のタブが一致するように更新されます。
UIペインのセクション
UIタブでは、設定が折りたたみ可能なセクションにグループ化されています。空のフィールドは、エンジンのスキーマのデフォルト値にフォールバックします。
- Timeouts:
timeout_ms,connect_timeout_ms,accept_timeout_ms,server_response_timeout_ms,dns_cache_timeout_sec - Redirects:
followRedirects(0-20)の切り替えと設定。SingleとProxyのみ。Browserは独自にリダイレクトに従います。 - Flags:
unblocker,tryJsonData,returnBuffer。SingleとProxy。 - Proxy: SingleまたはBrowser用の特定のproxy IDを選択するか、Proxyエンジンの
maxTries、Proxyの外部タイムアウト、およびignoreProxiesを設定します。 - Browser:
checkStatusやcheckTextなどのブラウザ専用オプション。 - Validate:
validate.status(ステータスコード)、validate.headers(headerのキーと値のルール)、およびvalidate.data(bodyの許容/拒否部分文字列、|区切りの代替案)の許容/拒否ルール。
現在選択されているプロダクトに適用されないフィールドは非表示になります。
ツールバーのリセット
ツールバーのResetボタン(Historyの隣)は、アクティブなプロダクトのフォームをデフォルトにリセットします。デフォルトでは、最も一般的な開始点に合わせてunblockerとtryJsonDataがオンに維持されます。動作する基準値から大きく外れてしまい、ページをリロードせずにクリーンな状態からやり直したい場合に使用します。
送信とキャンセル
Sendをクリックしてrequestを送信します。呼び出しの実行中、右側の列はスピナーとCancelボタンが表示された読み込み状態に切り替わります。中止するには、Cancelをクリックします(モバイルではボタンをもう一度タップします)。キャンセルされたrequestは、エラーを表示する代わりに、アイドル状態のプレースホルダーを"Request canceled."に復元します。
requestが完了(または失敗)した瞬間に、responseカードが結果に切り替わります。
レスポンスの確認
response列は、独自のタブを持つrequestのレイアウトを反映しています。
| タブ | 表示内容 |
|---|---|
| Body | 解析されたbody。返された内容に応じて、JSON、HTML、Textビューが切り替わります。 |
| Headers | response header(1行に1つ)。 |
| Cookies | ターゲットから返されたcookie。解析済み(ホストごとにグループ化)ビューとraw(Set-Cookieテキスト)ビューの両方で表示されます。解析済みビューでは、ホスト限定cookieにHOバッジが表示されます。ドメインcookieにはマークが付きません。 |
| Raw | APIから返された完全なJSONエンベロープ。 |
タブの上のメタストリップには、アップストリームのHTTPステータス、合計時間、および(Proxyまたはproxy IDを指定したSingleのrequestの場合)呼び出しを処理したproxy IDが表示されます。各ペインの右上にはコピーボタンとダウンロードボタンがあるため、ワンクリックでbodyやheaderをファイルに保存できます。
フルスクリーン表示
responseツールバーの拡大アイコンをクリックすると、responseカードが分割レイアウトから飛び出し、フルスクリーンオーバーレイで表示されます。深いJSONツリー、長いSet-Cookieダンプ、または幅の広いHTML bodyなど、半幅の列では窮屈になる場合に使用します。オーバーレイが開いている間、ページ自体のスクロールは停止します。もう一度アイコンをクリックするか、Escapeキーを押すと折りたたまれます。
curl再現コマンド
responseの下にあるcurlブロックには、構築したrequestとまったく同じコマンドラインが表示されます。これをコピーして、ターミナルからrequestを再現したり、チームメンバーと共有したり、バグレポートに貼り付けたりできます。
表示可能なキーの場合、スニペットの横にあるReveal keyボタンをクリックすると、実際のプレーンテキストキーがcurlに直接挿入され、そのままコピーして実行できます。もう一度クリックすると非表示になります。レガシーキー(表示機能がリリースされる前に作成されたキー)にはPASTE_PLAINTEXT_FOR_<key-name>プレースホルダーが保持されます。表示可能にするには、API Keysページからキーを再生成してください。
キーの表示は毎回サーバー上で監査ログに記録され、プレーンキーは現在のページセッションのメモリ内にのみ保持されます。
プリセットの保存
同じターゲットを繰り返し設定していることに気付いた場合は、保存してください。requestタブの行にあるSaveをクリックすると、現在の設定が名前付きプリセットとして保存されます。
ツールバーのSavedを開くと、プリセットの閲覧、名前変更、削除ができます。任意のプリセットをクリックすると、フォームに再読み込みされます。
| プリセットフィールド | 保存される内容 |
|---|---|
| Name | 短いラベル(最大100文字) |
| Description | 任意のメモ(最大500文字) |
| Endpoint | プリセットがどのプロダクト用か(single / proxy / browser) |
| Config | UIフィールド、header、cookie、bodyを含む完全なrequestペイロード |
プリセットはユーザーアカウントにスコープされており、チームメンバーとは共有されません。
履歴からの再実行
実行したすべてのrequestが記録されます。ツールバーのHistoryを開くと、最新の順にソートされた過去20回の実行履歴が表示されます。
各行には、endpoint、ターゲットURL、ステータス、および時間が表示されます。任意の行のReplayをクリックすると、そのrequestがフォームに再読み込みされ、Sendをクリックして再実行できます。
履歴は自動的にアカウントにスコープされます。表示されるのは自分自身の実行履歴のみです。
アクティビティからの起動
Activity Logの詳細ダイアログには、Open in Playgroundボタンがあります。これをクリックすると、アーカイブされたrequestとアーカイブされたresponseの両方がPlaygroundに読み込まれます。フォームは保存されたペイロードから自動入力され、responseカードには、その時点でAPIが返した内容が、proxyメタストリップ上の「archived」バッジ("archived
そこからパラメータを変更してSendをクリックし、ライブAPIに対して新しいrequestを実行することも、再実行せずにアーカイブされたペイロードを検査するだけに留めることもできます。ペイロードは24時間保持されるため、それより古いActivityの行には再読み込み可能なresponseがありません。
ヒント
- 新しいターゲットに対するコードを記述する前に、Playgroundから始めてください。Singleで十分か、それともBrowserが必要かを数秒で判断できます。
- 定期的にスクレイピングするターゲットごとにプリセットを保存してください。保存したプリセットの再実行はワンクリックで済みますが、記憶を頼りにrequestを再構築するには時間がかかります。
- セッションベースのスクレイピングをデバッグするには、Cookiesタブを使用します。rawのSet-Cookieビューには、ターゲットが送信した内容が正確に表示されます。
- Playgroundのrequestは、選択したキーに対して課金されます。本番環境の使用状況をクリーンに保ちたい場合は、カジュアルな探索用に専用の低クォータキーを使用してください。
関連情報
- API Endpoints: 3つのプロダクトすべてに関する完全なパラメータリファレンス
- Choosing the Right Endpoint: Single、Proxy、Browserの使い分け
- API Keys: Playgroundのrequestを認証するキーの管理
- Activity Log: 過去のrequestをPlaygroundに直接読み込む
- Dashboard Overview: すべてのサイドバーセクション