Echolot
リクエスト

HTTPリクエスト

HTTPリクエストを作成、送信、保存し、リクエストページの使い方を把握します。

リクエストとは、APIに対する保存された1つの呼び出しです。メソッド、URL、ヘッダー、ボディ、認証、設定が、ワークスペース内の1つのファイルとして保存されます。 このページでは、HTTPリクエストを最初から最後まで説明します。ほかの種類のリクエスト(GraphQL、gRPC、WebSocketとSSE、Socket.IO、MQTT、MCP呼び出し)も同じページを使いますが、タブが異なります。 最後のリクエストの種類を参照してください。

リクエストを作成する

  • ファイル › 新規リクエスト(⌘N)を選びます。リクエストは、サイドバーで選択しているフォルダに新規リクエストという名前で追加され、タブで開きます。
  • または、サイドバーのリクエストの横にある+メニューをクリックして、新規リクエストを選びます。同じメニューで、ほかの種類のリクエストやフォルダを作成したり、ファイルを読み込んだりできます。
  • または、サイドバーでフォルダを右クリックして新規リクエストを選ぶと、そのフォルダに直接作成されます。
  • cURLコマンドから始めるには、リクエストを作成して、コマンドをURL欄にペーストします。Echolotは、コマンドからメソッド、URL、ヘッダー、ボディ、認証、設定を入力します。 取り込めないオプションは、URLバーの下にcURLの注記として表示されます。クリックすると、除外された内容が分かります。

リクエストの名前を変更するには、編集 › 名前を変更を選ぶか、サイドバーでリクエストを右クリックします。編集 › 複製(⌘D)は、隣にコピーを作ります。

リクエストページ

List productsのリクエストページ。上にURLバー、左にリクエストのタブ、右にJSONレスポンスが表示されている

上から順に:

  1. URLバー:メソッド、URL、送信。
  2. その下の行:送信されるとおりのURL。現在の環境ですべての変数が埋められています(シークレットはマスクされたまま)。 送信後は、右側にステータス、やり取りのタイムライン、時間が表示されます。
  3. 2つのペイン:一方にリクエストのタブ、もう一方にレスポンスが表示されます。

リクエストのタブは、ドキュメント、ヘッダー、パラメータ、ボディ、認証、変数、テスト、スクリプト、設定です。 内容があるタブにはドットまたは件数が表示されるので、リクエストにヘッダーが3つある、ボディがある、といったことが一目で分かります。

ペインは左右に並べることも、上下に並べることもできます。表示 › ペインで左右に並べると上下に並べるを切り替えます。選択はリクエストの種類ごとに保持されます。 区切りをドラッグするとペインのサイズを変更でき、表示 › ペイン › ペインのサイズをリセットでデフォルトのサイズに戻ります。 2つのペインを左右に並べるには狭すぎるウインドウでは、自動的に上下に並びます。

メソッドとURL

メソッドのバッジをクリックして、GET、POST、PUT、PATCH、DELETE、HEAD、OPTIONSから選びます。

隣の欄にURLを入力します。{{baseURL}}/productsのように、どこでも{{variables}}が使えます。{{と入力すると、スコープ内の変数と動的な値のリストが開きます。 変数はピルとして表示されます。ポインタを合わせると値が分かり、ダブルクリックすると変更できます。 変数は、環境、ワークスペース、フォルダから取得されます。

URLの中に解決できないものがあると、URLバーの下の行に1件の問題(または問題の件数)と表示されます。クリックすると、どの変数が足りないか分かります。解決されないトークンは、書いたままで送信されます。

リクエストがほかのリクエストのレスポンスを読み取る場合(たとえば{{$response('auth/sign-in', '$.access_token')}})、そのリクエストにまだレスポンスがないと、 行に先に「Sign in」を送信と表示されます。Echolotは、そのリクエストを先に送信してから、このリクエストを送信します。

クエリパラメータ

パラメータタブは、URLのクエリをキーと値の行として表示します。両者は連動しています。行を編集するとURLが変わり、URLに?page=2と入力すると行が現れます。

  • パラメータを追加をクリックして追加します。
  • 行のチェックを外すと、その行は送信されません。チェックを外したパラメータはリクエストに残りますが、URLからは外れます。
  • 名前や値に入力した&、#、スペースは、自動的にパーセントエンコードされます。

ヘッダー

ヘッダータブは、設定したヘッダーを、設定した順に、名前の大文字小文字を書いたままに保って一覧します。

  • ヘッダーを追加をクリックして名前を入力します。Echolotはヘッダー名を、それぞれの用途の説明付きで補完し、1つ選ぶと、よく使われる値も提案します。
  • ヘッダーのチェックを外すと、送信せずに残しておけます。
  • 行をハンドルでドラッグして並べ替えるか、右クリックして上へ移動、下へ移動、削除を選びます。
  • 一括編集をクリックすると、すべてのヘッダーをテキストとして編集できます。1行に1つのName: valueで、//で始まる行は、オフにしたヘッダーです。

自分のヘッダーの下の自動生成には、送信時にEcholotが追加するものが一覧されます。認証、ボディの種類、Cookieジャーが生成するヘッダーと、すべてのHTTPリクエストに必要なヘッダーです。 資格情報をマスクした、実際に送信されるとおりの形で表示されます。ポインタを合わせると、その出どころが分かります。代わりに自分の値を送るには、同じ名前のヘッダーを追加するか、 行を右クリックして独自の値に置き換えるを選びます。自分で書いたAuthorizationヘッダーは、認証タブが追加するものの代わりに送信されます。

Echolot独自のヘッダーを追加させないようにするには、設定タブで生データモードをオンにします。

ボディ、認証、設定

  • ボディ:JSON、URLエンコードやマルチパートのフォーム、GraphQL、テキスト、XML、HTML、ファイル。リクエストボディを参照してください。
  • 認証:Basic、Bearer、APIキー、OAuth 2.0、AWS署名など、またはフォルダの認証。認証を参照してください。
  • 設定:HTTPバージョン、リダイレクト、Cookie、TLS、タイムアウト、生データモード。リクエスト設定を参照してください。
  • 変数:このリクエストだけが使う値と、レスポンスから保持する値。レスポンスのキャプチャを参照してください。
  • テストとスクリプト:レスポンスに対するチェックと、送信の前後に実行するJavaScript。スクリプトとテストを参照してください。
  • ドキュメント:リクエストの用途についてのメモ。自分とチームのためのものです。

送信とキャンセル

送信をクリックするか、⌘Rを押します。URL欄での↩と⌘↩でも送信されます。 リクエスト › 送信は、メニューバーから同じことを行います。

リクエストの実行中は、送信がキャンセルに変わります。クリックするか⌘.を押すと停止します。 レスポンスは届くそばからレスポンスペインにストリーミングされるので、大きなボディでも、最後まで届く前に最初の部分を読めます。

ウインドウの環境が保護されていると、ボタンには環境名付きでProductionに送信…と表示され、送信のたびに先に確認されます。 保護された環境を参照してください。

現在のリクエストに対するそのほかの操作は、リクエストメニューにあります:

メニュー項目ショートカット動作
cURLとしてコピー⌥⌘Cリクエストをcurlコマンドとしてコピーします。
コードを生成…⌥⌘Gリクエストをコードとして表示します:cURL、Swift(URLSession)、JavaScript(fetch、axios)、TypeScript(fetch)、Python(requests、httpx)、Go(net/http)、Kotlin(OkHttp)、Java(HttpClient)、C#(HttpClient)、PHP(cURL)、Rust(reqwest)。
やり取りをHARとして書き出す…最新のやり取りをHARファイルとして保存します。
ボディ内を検索⌘Fレスポンスのボディを検索します。

コードを生成…は、リクエストの変数を埋めます。スクリプトは実行されず、シークレットはそのまま表示されるので、コードをペーストする場所に注意してください。 そのシートのテンプレートフォルダを開くは、コードの元になるテンプレートを表示します。

タブ

開いたリクエストごとに、エディタの上にタブが作られます。

操作方法
次のタブタブ › 次のタブを表示、⇧⌘]
前のタブタブ › 前のタブを表示、⇧⌘[
タブを閉じるファイル › タブを閉じる、⌘W
最後に閉じたタブを再度開くタブ › 閉じたタブを再度開く、⇧⌘T

保存

保存コマンドはありません。編集はすべて、行った少し後にリクエストのファイルへ自動的に保存され、編集 › 取り消す(⌘Z)ですべて取り消せます。 タブを閉じるときや終了するときは、最後の編集が書き込まれるまで待機します。

Echolotがまだ書き込んでいない編集があるうちに、ファイルがディスク上で変更された場合(たとえばgit pullの後)、バーにこのリクエストはディスク上で変更されましたと表示されます。 自分の変更を保持を選ぶと、編集内容を保持してファイルに上書きし、ファイルの内容を使用を選ぶと、編集内容を破棄してファイルを読み込みます。 Gitとチームを参照してください。

レスポンスの概要

レスポンスの上に表示された詳細カード。ステータス200、時間、サイズ、TLSバージョン、やり取りの各フェーズを示すバー

送信後、URLバーの下の行には、ステータス(2xxは緑など)、やり取りの各フェーズを示すバー、合計時間が表示されます。この行にポインタを合わせると、 サイズ、圧縮、リダイレクト、チェック、TLS、サーバのアドレス、各フェーズにかかった時間といった詳細が表示されます。

レスポンスペインには、さまざまな表示のボディ、ヘッダー、Cookie、生のメッセージ、16進表示、通信上のバイトがあります。行の末尾にある、件数付きの時計ボタンを押すと、 このリクエストの以前のレスポンスが開きます。レスポンスを参照してください。

最初の送信の前は、レスポンスペインにPingを送信と表示されます。

リクエストの種類

同じリクエストページで、Echolotが対応するすべてのプロトコルを送信できます。ファイルメニューか、サイドバーの+メニューから作成します。

種類メニュー項目ページ
HTTP新規リクエストこのページ
GraphQL新規GraphQLリクエストGraphQL
gRPC新規gRPCリクエストgRPC
WebSocket新規WebSocketリクエストWebSocketとSSE
Server-Sent Events新規リクエスト(サーバがイベントをストリーミングするHTTPリクエスト)WebSocketとSSE
Socket.IO新規Socket.IOリクエストSocket.IO
MQTT新規MQTTリクエストMQTT
MCP新規MCP呼び出し(サイドバーの+メニュー)MCPリクエスト

チェックやデータファイルを使って多くのリクエストを続けて送信するには、ランナーを使います。

このページの内容