HTTP・リクエストデバッグ

HTTPリクエストテスト送信する瞬間を選べる

メソッド、URL、ヘッダーと本文を確認してから送信します。相手のAPIには適切なCORS設定が必要です。

HTTPリクエストテスト

リクエスト

要求ヘッダー

要求本文

このメソッドでは本文を送信しません。

送信操作をしたときだけブラウザーから宛先へ直接通信します。本番用の秘密は入力しないでください。

レスポンス

応答はまだありません。

オプション

初期状態はオフ。このタブにはメソッド、クエリを除いたURLパス、時刻、状態のみ残し、ヘッダーと本文は保存しません。 URLパスには識別子が含まれ得ます。機密のパスでは履歴をオフにしてください。

上限:ヘッダー50件、テキスト本文1 MiB、読み取り可能な応答8 MiB。CORSと禁止ヘッダーの制約があります。

リクエストコード

コード表示は通信しません。クエリ値と機密ヘッダーは置換済みです。共有前に本文も確認してください。

HTTP(S)のURLを入力し、明示的に送信してください。

APIの動作を確かめたいとき、URLとJSON本文だけでは実際の応答は分かりません。HTTPリクエストテストはブラウザー内で一件の要求を組み立て、送信ボタンを押した場合だけ通信します。入力中の自動送信はありません。 HTTPリクエストテスターとして、入力内容を送信前に確認できます。

オンラインHTTPクライアントとしてHTTPリクエスト送信に使えますが、ターミナルのcurlとは権限が異なります。REST APIテスト中にCORSエラーが出ても、単純な要求はサーバーに届いた可能性があります。

HTTPリクエストテストを使う理由

ブラウザーが実際に読めた応答だけを表示します。

送信先へ直接通信

HTTPリクエストテストはサイトの代理サーバーを使いません。CORSで許可された応答なら状態、公開されたヘッダー、本文を表示し、読めない応答を架空の結果として扱いません。

ブラウザーからAPIへ一本の要求が向かい、CORSの境界で応答の表示可否が分かれる図。

履歴にヘッダーや本文を残さない

履歴は初期状態で無効です。有効にしても現在のタブでメソッド、クエリを除いたURL、時刻と状態だけを保存します。コード中の機密ヘッダーとクエリ値も置換します。

秘密のヘッダーを持つ入力画面と、メソッドとURLパスのみが並ぶ履歴画面。

送信前の確認から応答の読み方まで

01

CORSを許す宛先を選ぶ

サンプルは公開URLを入力するだけで通信しません。HTTPSページからHTTP宛先への要求は混在コンテンツとしてブラウザーに止められる場合もあります。

02

本文と送信条件を確認する

POST、PUT、PATCH、DELETEでは生テキストかJSONを選べます。JSONモードは文法を検査し、Content-Type未指定時だけ追加します。Ctrl/Cmd+Enterも明示的な送信です。

03

失敗の種類を見分ける

HTTPの4xxや5xxでも本文を読める場合があります。CORSまたはネットワーク失敗では状態は見えません。編集後は古い応答を保存できず、キャンセルしても相手側の処理は取り消せません。

一件の要求を組み立てて結果を保存

七つのHTTPメソッド

GET、POST、PUT、PATCH、DELETE、HEAD、OPTIONSを選べます。許可されたカスタムヘッダーと、対応メソッドのテキスト本文を追加できます。

読める範囲の応答を表示

状態、経過時間、ブラウザーに公開された応答ヘッダーと本文を表示。JSONは読みやすく整形し、バイナリは種類とバイト数を示します。

元のバイト列を保存

読み取り可能な応答は8 MiBまで丸ごとダウンロードできます。画面上のJSON整形は表示専用で、保存するデータは変更しません。

通信前にコードを確認

現在の入力からcURLとFetchの例を作れます。コード表示だけでは送信せず、機密ヘッダーとクエリの値はプレースホルダーに置き換えます。

ブラウザーの通信制約

CORSエラーから送信有無は断定できない
単純なクロスオリジン要求は届いても応答を読めないことがあります。プリフライトが失敗すると実要求は送られません。一般的な失敗から両者は判別できません。
万能な代理サーバーはない
HTTPリクエストテストはFetchによる直結です。CORSを回避せず、任意のサーバーの応答を保証しません。代理運用にはSSRF対策や制限が必要です。
禁止ヘッダーは送れない
Cookie、Host、Origin、Content-Length、Sec-*などはページから設定できません。送信前にエラーを示し、応答側もブラウザーに公開されたヘッダーだけを表示します。
Cookie管理と自動再試行はしない
ブラウザーの資格情報は付けません。失敗したPOSTを自動再送しないため、相手で実行済みの操作を二重に繰り返すことを避けます。
本文と履歴に上限がある
要求本文は1 MiB、読み取り可能な応答は8 MiBまでです。履歴は初期状態で無効で、オンでもタブ内の概要だけを保存し、オフで消去します。

HTTPリクエストテストのよくある質問

HTTP APIをテストするには?

完全なHTTP(S) URLを入力して送信を押します。サンプルや編集だけでは通信せず、相手のAPIがこのページからの読み取りをCORSで許可する必要があります。

CORSエラーが発生するのはなぜですか?

CORSを許可しない相手からは応答を読めません。単純な要求は届いている可能性があるため、エラーだけで未送信と判断せずサーバーログも確認してください。

JSONボディ付きのPOSTリクエストを送信できますか?

POSTを選びJSONモードで本文を入力できます。文法を検査し、指定がなければContent-Typeを追加します。本文は勝手に再整形しません。

リクエストのタイムアウト時間は?

初期値は30秒で、5秒、10秒、30秒、60秒から選べます。タイムアウトは待機を中断しますが、相手が受け取った操作を撤回しません。

どのHTTPメソッドがサポートされていますか?

GET、POST、PUT、PATCH、DELETE、HEAD、OPTIONSです。GET、HEAD、OPTIONSにはこの画面から本文を付けられません。

解析結果に問題がありましたか?

HTTPリクエストテストを始める

CORSを許可するテスト用APIでHTTPリクエストテストを試し、読めた応答を確かめてから保存やコードの確認に進みましょう。