PhpStorm 2020.1ヘルプ

PhpStormコードエディターのHTTPクライアント

Webサービスをテストするときは、PhpStorm コードエディターで直接HTTPリクエストを作成、編集、および実行できます。

HTTPリクエストは .http および .rest ファイルに保存され、HTTP file icon アイコンでマークされています。

HTTPファイルのサポートには、以下の機能が含まれます。

開始する前に、必要に応じて、設定/環境設定ダイアログ Ctrl+Alt+SHTTP プロキシーページでプロキシ設定を構成します

HTTPクライアントの概要については、このビデオを参照してください。

HTTPリクエストファイルを作成する

スクラッチファイルまたはHTTP リクエストタイプの物理ファイルからHTTPリクエストを処理できます。各ファイルには複数の要求を含めることができ、必要な数のファイルを作成できます。

スクラッチ・ファイルを使用して、開発中にHTTPリクエストをテストできます。スクラッチファイルはプロジェクト内に保存されないため、PhpStormはそれらを変更し、リクエストに関する追加情報を追加できます。HTTPリクエストがスクラッチファイルから実行されると、応答出力ファイルへのリンクが要求の下および要求履歴ファイルの上部に追加されます。

HTTPリクエストスクラッチファイルを作成する

  • Ctrl+Shift+Alt+Insert を押してHTTP リクエストを選択します。

物理ファイルは、HTTPリクエストの文書化、テスト、および検証に使用できます。物理ファイルはプロジェクト内に保存され、PhpStormはそれらを変更しません。HTTPリクエストが物理ファイルから実行される場合、このファイルは変更されません。実行された要求に関する情報と応答出力ファイルへのリンクが、要求履歴ファイルの先頭に追加されます。

物理HTTPリクエストファイルを作成する

  • ファイルメニューで新規をポイントし、HTTP リクエストをクリックします。

HTTPリクエストを移動する

F6 リファクタリング移動を使用して、HTTPリクエストをスクラッチから物理ファイルに移動したり、物理ファイル間で移動したりできます。

  1. エディターで、移動する要求にキャレットを置き、次のいずれかを実行します。

    • メインメニューまたはコンテキストメニューから、リファクタリング | 移動を選択します。

    • Alt+Enter を押して、HTTPリクエストを移動する インテンションアクションを選択します。

    • F6を押します。

  2. 開いたHTTPリクエストを移動するダイアログで、次の手順を実行します。

    • パスフィールドで、リストから既存の .http ファイルの1つを選択するか、the Browse button をクリックしてファイルを見つけます。

      ファイルへのフルパスを手動で入力することもできます。存在しないファイルの名前を指定すると、指定した名前の新しいファイルが自動的に作成されます。

    • 要求リストで、移動するリクエストの横にあるチェックボックスをオンにします。

    Move HTTP requests

HTTPリクエストを作成する

PhpStormはエディターでのHTTPリクエスト形式を使用します。これにより、HTTPリクエストに関する情報を作成、実行、および保存する簡単な方法が提供されます。次の一般的な構文を使用して、作成されたHTTPリクエストファイルに直接入力できます。

Method Request-URI HTTP-Version Header-field: Header-value Request-Body

HTTPリクエストの作成を高速化するには、リクエストのエディターパネルの上部にあるリクエストを追加ショートカットリンクをクリックします。ポップアップメニューで、追加するリクエストのタイプを選択します。

Add an HTTP request

または、ライブテンプレートを使用します。エディターで、Ctrl+J を押して、使用可能なテンプレートのリストを表示できます。例: gtrは単純なGETリクエストに展開されます。mptrは、multipart/form-data POST要求に展開されます。

HTTPクライアントの可能性の概要を取得するために、HTTPリクエストコレクションを調べることができます。HTTPリクエストコレクションは、合成されたリクエストのほんの一握りです。

HTTPリクエストコレクションからリクエストを開く

  1. リクエストのエディターパネルの上部にあるサンプルショートカットリンクをクリックします。

  2. ポップアップメニューで、開くHTTPリクエストコレクションを選択します。

    Open HTTP Requests Collection popup

cURLリクエストを変換する

cURL(英語)リクエストを使用している場合は、エディターでのHTTPリクエスト形式に変換できます。

  • cURLリクエストを .http ファイルに貼り付けると、その場で変換されます。

  • または、リクエストのエディターパネルの上部にあるcURLから変換ショートカットリンクをクリックするか、メインメニューからツール | HTTP クライアント | cURL を HTTP リクエストに変換するを選択します。

    開いたダイアログで、cURLリクエストを提供します。

    the Convert cURL to HTTP Request dialog

    変換をクリックすると、変換されたリクエストを含む新しいスクラッチファイルが作成されてエディターに表示されます。

リクエストの例を考えてみましょう。

curl 'http://httpbin.org/' -H 'Connection: keep-alive' -H 'Accept: text/html' -H 'Accept-Encoding: gzip, deflate' -H 'Accept-Language: en-US,en;q=0.9,es;q=0.8'

変換すると、このリクエストは次のようになります。

GET http://httpbin.org/ Connection: keep-alive Accept: text/html Accept-Encoding: gzip, deflate Accept-Language: en-US,en;q=0.9,es;q=0.8

以下のcURLオプションがサポートされています。

オプション

説明

-X, --request(英語)

使用するリクエストメソッド。

-H, --header(英語)

リクエストに含めるリクエストヘッダー。

-u, --user(英語)
--basic(英語)
--digest(英語)

要求とともに提供されるユーザーの資格情報、および使用する許可方法。

-d, --data, --data-ascii(英語)
--data-binary(英語)
--data-raw(英語)
--data-urlencode(英語)

POSTリクエストで送信されるデータ。

-F, --form(英語)

POST要求で送信されるマルチパート/フォームデータメッセージ。

--url(英語)

取得するURL(主に設定ファイルでURLを指定するときに使用されます)。

-i, --include(英語)

HTTPレスポンスヘッダーを出力に含めるかどうかを定義します。

-v, --verbose(英語)

詳細動作モードを有効にします。

-L, --location(英語)

要求されたページが別の場所に移動された場合に要求を再送信することを可能にします。

応答ハンドラスクリプトを使用する

応答ハンドラスクリプトを使用すると、受信したHTTPレスポンスにプログラム的に対応できます。これらのスクリプトを使用すると、受信したデータを自動的に処理し、指定した条件に対して検証することができます。応答ハンドラスクリプトはHTTPリクエストファイル内の要求の一部として提供され、応答が受信されるとすぐに実行されます。応答処理の例を表示するには、auth-requestsまたはtest-responses 要求コレクションを開きます。

応答ハンドラスクリプトは、その場で、または外部ファイルを参照して、要求に挿入できます。

スクリプトをリクエストに挿入する

  • その場でスクリプトを挿入するには、その前に > を付けて {% %}で囲みます。

    GET host/api/test > {% // Response Handler Script ... %}
  • 外部ファイルからスクリプトを挿入するには、>を先頭に追加します。

    GET host/api/test > scripts/my-script.js

レスポンスハンドラのスクリプトはJavaScript ECMAScript 5.1(英語)で書かれています。コーディング支援とドキュメントはバンドルされた HTTP Response Handler ライブラリによって処理されます。インプレーススクリプトの場合、この機能は自動的に有効になります。外部スクリプトの場合は、手動で有効にする必要があります。

応答ハンドラースクリプトのJavaScriptコーディング支援を有効にする

  1. スクリプトファイルをエディターで開きます。

  2. コンテキストメニューでJavaScript ライブラリの使用 | HTTP レスポンス・ハンドラーを選択します。

HTTP Response Handler ライブラリは、レスポンスハンドラスクリプトを作成するために使用される2つのオブジェクトを公開します。

  • client オブジェクトはセッションメタデータを格納します。これはスクリプト内で変更できます。 client 状態はPhpStormを閉じるまで保持されます。 variable_name として client.global に保存されたすべての変数は、{{variable_name}}として後続のHTTPリクエストにアクセス可能です。

  • response は受信したレスポンスに関する情報を保持しています:そのコンテンツタイプ、ステータス、レスポンスボディなど。

エディターでHTTP レスポンス・ハンドラーライブラリを開くには、ライブラリ・オブジェクトにキャレットを置き、Ctrl+Bを押します。

応答ハンドラスクリプトにはテストを含めることができます。これにより、HTTPクライアントをテストフレームワークとして使用できます。テストを作成するには、client.test(testName, function) メソッドを呼び出します。テスト内で、client.assert(condition, message) メソッドを呼び出すことにより、条件をアサートできます。例:

GET https://httpbin.org/status/200 > {% client.test("Request executed successfully", function() { client.assert(response.status === 200, "Response status is not 200"); }); %}

HTTPリクエストを実行する

  1. 独自のWebサービスをテストする場合は、Webサービスがデプロイされ、実行されていることを確認してください。

  2. 以下のいずれかを行います。

    • エディターで、実行するリクエストの横にあるガターの The Run button をクリックします。リストから<リクエスト名>を実行を選択します。

    • エディターで、リクエストのコンテキストメニューから<リクエスト名>を実行を選択します。

    • 実行したい要求にキャレットを置き、Alt+Enter を押して<リクエスト名>を実行 インテンションアクションを選択します。

    • .http ファイルに複数のHTTPリクエストが定義されている場合、それらすべてを順番に実行できます。これを行うには、リクエストのエディターパネルの上部にある対応するファイル内のすべてのリクエストを実行するショートカットリンクを使用します。

    環境が定義されている場合は、で実行...を選択し、ポップアップメニューで環境を選択します。選択した環境は、後でリクエストを実行またはデバッグするときに、デフォルトの環境として使用されます。

HTTPリクエストをデバッグする

アプリケーション全体をデバッグするだけでなく、別のHTTP リクエスト(英語)をデバッグすることもできます。これは、実際に多くの手順でアクセスされている特定のページに興味がある場合に役立ちますが、このためにこのページをデバッグの開始ページとして指定することはできません。このページには特定のデータが含まれています。

  1. PHP HTTPリクエストをデバッグするで説明されている準備手順を必ず実行してください。

  2. リクエストにキャレットを配置し、Alt+Enter を押すか、エディターのガターで The Run button をクリックします。ポップアップメニューからPHPデバッグ<ホスト>を選択します。

    PHP Debug intention action with in an HTTP request file

    環境が定義されている場合は、PHPデバッグ...を選択し、ポップアップメニューで環境を選択します。選択した環境は、後でリクエストを実行またはデバッグするときに、デフォルトの環境として使用されます。

    PHP Debug intention action with environment in an HTTP request file

    PhpStormは自動的に XDEBUG_SESSION Cookieをリクエストに追加して実行し、指定されたブレークポイントで停止します。

リクエストが実行されると、PhpStormはそのリクエスト専用の一時的なHTTPリクエストの実行/デバッグ構成を自動的に作成します。必要に応じて永続的な実行/デバッグ構成として保存してくださいを使用できます。

ブラウザでリクエストを開く

設定/環境設定ダイアログ Ctrl+Alt+SWeb ブラウザーページで指定されたブラウザーでHTTPリクエストを開くことができます。

  • キャレットを要求の1行目に置き、メインメニューから表示 | ソースに移動を選択するか、Ctrl+B または F4を押します。

  • Ctrl+Click 要求行:

    open_request_in_browser

HTTPリクエストの実行/デバッグ構成を操作する

HTTP リクエストタイプの実行構成を使用してHTTPリクエストを実行できます。実行構成では、いつでも要求を実行したり、サービスツールウィンドウに追加したり、複合構成にすることができます

詳細は実行/デバッグ構成の操作を参照ください。

HTTPリクエストの実行/デバッグ構成を作成する

  1. 以下のいずれかを行います。

    • エディターで、実行/デバッグ構成を作成したい要求のコンテキストメニューから<設定名>を作成するを選択します。

      Create a run configuration from the editor
    • または、メインメニューから実行 | 構成の編集を選択してから Add icon をクリックし、リストからHTTP リクエストを選択します。

      Add new HTTP Request Run Configuration
  2. 実行/デバッグ構成パラメーターを指定します。

    • 環境リストで、要求で使用される環境変数のセットを定義する環境を選択します。

    • ファイルフィールドに、HTTPリクエストファイルへのパスを指定します。パスを手動で入力し、入力時にパス補完 Ctrl+Space を使用するか、Open from disk をクリックして、表示されるダイアログで必要なフォルダーを選択できます。

    • リクエストファイルに複数のリクエストが含まれている場合は、リクエストリストで実行するリクエストのインデックスを選択します。

エディターからHTTPリクエストを実行すると、PhpStormはリクエストパラメータで一時的な実行/デバッグ構成を自動的に作成します。一時的な実行/デバッグ構成は、永続的な実行/デバッグ構成と同じように機能します。実行/デバッグ構成ダイアログを使用してその設定を変更することができ、オプションとしてそれを永続的なものとして保存することができます。

一時的なHTTPリクエストの実行/デバッグ構成を保存する

  • 実行/デバッグ構成セレクターで、<設定名>を保存を選択します。

  • 実行/デバッグ構成ダイアログで、構成を選択し、the Save buttonをクリックします。

実行/デバッグ構成を使用して要求を実行する

  • 実行/デバッグ構成セレクターで、目的の実行構成を選択します。次に、メインツールバーの Run button をクリックするか、Shift+F10を押します。

  • Shift+Alt+F10を押し、リストから希望の実行構成を選択して、Enterを押します。

    Run configuration popup

Webサービスからの応答を表示する

HTTPリクエストを実行すると、PhpStormは自動的に .idea/httpRequests/ ディレクトリの別のファイルにレスポンスを保存します。最近保存された50件の応答を表示し、要求履歴を使用して対応するファイルに移動することができます。リクエストがスクラッチファイルから実行された場合、そのレスポンス出力へのリンクも元のリクエストに追加されます。

HTTP Response

応答によって受信されたCookieは、.idea/httpRequests/ ディレクトリの専用 http-client.cookies ファイルに自動的に保存されます。保存できるクッキーの数は300に制限されています。有効期限に達していない限り、Cookieの名前は、Cookieに指定されたドメインパスに一致するURLへの後続の各要求に自動的に含まれます。

the http-cookies file

受け取った応答を見る

  1. 応答が受信されるとすぐに自動的に開く実行ツール・ウィンドウに切り替えます。

  2. デフォルトでは、サーバー応答はcontent-type(英語)フィールドを介して要求ヘッダーで指定された形式で表示されます。応答を別の形式に変換するには、HTML として表示 The View as HTML buttonXML として表示 The View as XML button、またはJSON として表示 The View as JSON buttonをクリックします。

  3. 応答ハンドラスクリプトの一部として実行されたテストの結果がある場合は、それが実行ツールウィンドウのテストタブに表示されます。

    The Tests tab of the Run tool window

エディターで応答ファイルを開く

  • 開きたい応答へのリンクにキャレットを置き、メインメニューから表示 | ソースに移動を選択するか、Ctrl+B または F4を押します。

  • Ctrl+Click 応答行:

    Open the response tooltip

スクラッチファイル内のレスポンスを比較する

スクラッチファイルから要求が実行されると、応答出力ファイルへのリンクが元の要求に追加されます。

  • 以下のいずれかを行います。

    • 応答ファイルへのリンクにキャレットを置きます。 Alt+Enter を押して<レスポンス名>と比較 インテンションアクションを選択します。

    • ガターの Compare responses をクリックして、リストから<レスポンス名>と比較を選択します。

      compare_responses_menu

リクエスト履歴内のレスポンスを比較する

物理ファイルから要求が実行されると、応答出力へのリンクが要求履歴に追加されます。

  1. 応答ファイルへのリンクにキャレットを置きます。メインメニューから表示 | ソースに移動を選択するか、Ctrl+B または F4 を押してこのファイルを新しいエディタータブで開きます。

  2. メインメニューから表示 | 比較...を選択するか、または Ctrl+Dを押します。PhpStormは、httpRequests フォルダーから応答ファイルを開くように促します。

  3. 現在のファイルと比較したい応答ファイルを選択して、「 開く」をクリックします。

2つの応答ファイルが差分ビューアーで開かれ、それらの内容を比較できます。

compare_responses_diff

リクエスト履歴を表示する

PhpStormは、最近実行された50件のリクエストを http-requests-log.http ファイルに自動的に保存します。このファイルは、.idea/httpRequests/ ディレクトリのプロジェクトレベルに保存されています。リクエスト履歴を使用すると、特定のレスポンスにすばやく移動したり、リクエストを再発行したりできます。要求が要求履歴から再度発行されると、その実行情報と応答出力へのリンクが要求履歴ファイルの先頭に追加されます。

リクエスト履歴を開く

  • リクエストのエディターパネルの上部にあるログを開くショートカットリンクをクリックします。

  • メインメニューからツール | HTTP クライアント | HTTP リクエスト・ヒストリーの表示を選択します。

Requests history

プロキシ設定の構成

  1. 設定/環境設定ダイアログ Ctrl+Alt+Sで、 外観 & 振る舞いシステム設定を選択してから、HTTP プロキシーを選択します。

  2. 開いたプロキシダイアログで、手動プロキシー構成 を選択して以下を指定します。

    • ホスト名および ポート番号 フィールドにプロキシのホスト名とポート番号を入力します。

    • 認証を有効にするには、プロキシー認証チェックボックスを選択して、対応するフィールドにユーザー名とパスワードを入力します。

最終更新日: 2020年6月3日

関連ページ:

エディターの基本

PhpStormエディターは、コードの作成、読み取り、変更に使用するIDEの主要部分です。エディターは次の領域で構成されています。スクロールバーは現在のファイルのエラーと警告を表示します。パンくずリストは、現在のファイルのコード内を移動できます。ガターには、行番号と注釈が表示されます。タブには、現在...

色とフォントの構成

開発者として、エディターのソースコード、検索結果、デバッガ情報、コンソールの入出力など、多くのテキストリソースを使用します。色とフォントスタイルは、このテキストの書式設定に使用され、一目で理解しやすくなります。PhpStormは推奨する色とフォントを定義するカラースキームを使います。配色は、ウィンド...

コード補完

このセクションでは、コーディングプロセスのスピードアップを可能にするコンテキスト対応コード補完のさまざまなテクニックについて説明します。基本補完:基本コード補完は、可視性スコープ内のクラス、メソッド、およびキーワードの名前を完成させるのに役立ちます。コード補完を呼び出すと、PhpStormはコンテキ...

ソースコードを書いて編集する

コードを使用する場合、PhpStormは作業にストレスがないことを保証します。追加、選択、コピー、移動、編集、折りたたみ、出現箇所の検索、コードの保存に役立つさまざまなショートカットと機能を提供します。エディター内のナビゲーションについては、エディターの基本を参照してください。アクションの検索使用し...

コード参照情報

定義:PhpStormでは、タグ、クラス、フィールド、メソッド、関数などのシンボルがプロジェクトでどのように定義されているかを確認することができます。この目的のために、IDEにはクイック定義ポップアップがあります。シンボルの定義を表示するには、エディターでシンボルを選択し、 を押します(またはをクリ...

ソースファイルの構造

デフォルトでは、PhpStormは現在のファイルのすべてのクラス、メソッド、およびその他の要素を表示します。表示したい要素を切り替えるには、構造ツールウィンドウのツールバーの対応するボタンをクリックします。例:をクリックしてクラスフィールドを表示します。をクリックして定数を表示してください。継承メン...