> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dify.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# HTTP リクエスト

> 外部 API と Web サービスに接続

> このドキュメントは AI によって自動翻訳されています。不正確な部分がある場合は、[英語版](/en/cloud/use-dify/nodes/http-request) を参照してください。

HTTP リクエストノードは、ワークフローを外部 API や Web サービスに接続します。データの取得、ウェブフックの送信、ファイルのアップロード、または HTTP リクエストを受け入れる任意のサービスとの統合に使用できます。

<Frame caption="HTTP リクエストノードの設定">
  ![HTTP リクエストノードの設定](https://assets-docs.dify.ai/dify-enterprise-mintlify/en/guides/workflow/node/07c5e952eb4c9d6a32d0b7c2d855d4a5.png)
</Frame>

## HTTP メソッド

このノードは、さまざまなタイプの操作に対応する全ての標準 HTTP メソッドをサポートしています：

<Tabs>
  <Tab title="データ取得">
    **GET** は何も変更せずにサーバーからデータを取得します。ユーザープロファイルの取得、データベースの検索、現在のステータスの取得に使用します。

    **HEAD** は完全なレスポンス本文なしでレスポンスヘッダーを取得します。リソースが存在するかどうかの確認やメタデータの取得に便利です。
  </Tab>

  <Tab title="データ送信">
    **POST** はサーバーにデータを送信し、通常は新しいリソースを作成します。フォーム送信、ファイルアップロード、または JSON ペイロードの送信に使用します。

    **PUT** はリソースを作成または完全に置き換えます。リソースの全体的な状態を設定したい場合に使用します。

    **PATCH** は既存のリソースに部分的な更新を行います。特定のフィールドのみを変更する必要がある場合に使用します。
  </Tab>

  <Tab title="リソース管理">
    **DELETE** はサーバーからリソースを削除します。ファイル、ユーザーアカウント、または削除すべき任意のリソースの削除に使用します。
  </Tab>
</Tabs>

## 設定

URL、ヘッダー、クエリパラメータ、リクエスト本文、認証を含む HTTP リクエストのあらゆる側面を設定できます。以前のワークフローノードからの変数は、リクエスト設定のどこにでも動的に挿入できます。

### 変数置換

二重中括弧を使用してワークフロー変数を参照します：`{{variable_name}}`。Dify は深いオブジェクトアクセスをサポートしているため、以前の HTTP レスポンスから `{{api_response.data.items[0].id}}` のようなネストした値を抽出できます。

### タイムアウト設定

HTTP リクエストには、ハングを防ぐための設定可能なタイムアウトがあります：

* **接続タイムアウト**：接続確立の最大時間
* **読み取りタイムアウト**：レスポンスデータ読み取りの最大時間
* **書き込みタイムアウト**：リクエストデータ送信の最大時間

タイムアウトは、ワークフローのパフォーマンスを維持し、リソースの枯渇を防ぐために適用されます。

### 認証

このノードは複数の認証タイプをサポートしています：

**認証なし**（`type: "no-auth"`されません

**API キー**（`type: "api-key"`）には 3 つのサブタイプがあります：

* **Basic**（`type: "basic"`）- base64 エンコーディングを使用した Basic Auth ヘッダーを追加
* **Bearer**（`type: "bearer"`）- `Authorization: Bearer <token>` ヘッダーを追加
* **カスタム**（`type: "custom"`）- 指定された名前と値でカスタムヘッダーを追加

### リクエスト本文

API 要件に基づいて適切な本文タイプを選択します：

* **JSON** 構造化データ用
* **フォームデータ** 従来の Web フォーム用
* **バイナリ** ファイルアップロード用
* **生テキスト** カスタムコンテンツタイプ用

## ファイル検出

HTTP リクエストノードは、高度なロジックを使用してファイルレスポンスを自動的に検出します：

1. **Content-Disposition 分析** - `attachment` ディスポジションまたはファイル名パラメータをチェック
2. **MIME タイプ評価** - コンテンツタイプを分析してテキストとバイナリを区別
3. **コンテンツサンプリング** - 曖昧なタイプについては、最初の 1024 バイトをサンプリングしてテキストパターンを検出

テキストベースのレスポンス（JSON、XML、HTML など）は通常のデータとして扱われ、バイナリコンテンツはファイル変数になります。

## ファイル操作

HTTP リクエストノードは、ファイルのアップロードとダウンロードをシームレスに処理します：

<Frame caption="ファイルアップロード設定例">
  ![ファイルアップロード設定例](https://assets-docs.dify.ai/dify-enterprise-mintlify/en/guides/workflow/node/1f2e33cf7bed33096b5aee145006193d.png)
</Frame>

**ファイルアップロード** はバイナリリクエスト本文オプションを使用します。以前のノードからファイル変数を選択して、文書保存、メディア処理、またはバックアップのために外部サービスにファイルを送信します。

**ファイルダウンロード** は、レスポンスにファイルコンテンツが含まれている場合に自動的に処理されます。ダウンロードされたファイルは、下流のノードで使用するためのファイル変数として利用可能になります。

## エラー処理とリトライ

外部サービスに依存する本番ワークフロー用の堅牢なエラー処理を設定します：

<Frame caption="HTTP リトライ設定">
  ![HTTP リトライ設定](https://assets-docs.dify.ai/2024/12/2e7c6080c0875e31a074c2a9a4543797.png)
</Frame>

**リトライ設定** は、設定可能な間隔（最大 5000ms）で失敗したリクエストを最大 10 回まで自動的にリトライします。これは、一時的なネットワークの問題やサービスの利用不能を処理します。

<Frame caption="HTTP エラー処理オプション">
  ![HTTP エラー処理オプション](https://assets-docs.dify.ai/2024/12/91daa86d9770390ab2a41d6d0b6ed1e7.png)
</Frame>

**エラー処理** は、HTTP リクエストが失敗した場合の代替ワークフローパスを定義し、外部 API が利用できない場合でもワークフローが実行を継続することを保証します。

## レスポンス処理

HTTP レスポンスは、後続のノードで構造化変数となり、以下への個別アクセスが可能です：

* **レスポンス本文** - API によって返されるメインコンテンツ
* **ステータスコード** - 条件付きロジック用の HTTP ステータス
* **ヘッダー** - キー・値ペアとしてのレスポンスって返される任意のファイルコンテンツ
* **サイズ情報** - 読み取り可能な形式（KB/MB）でのコンテンツサイズ（バイト）

### SSL 検証

SSL 証明書検証はノードごとに設定可能です（`ssl_verify` パラメータ）。これにより、外部 API のセキュリティを維持しながら、自己署名証明書を使用する内部サービスへの接続が可能になります。

<Frame caption="動的 API 統合ワークフロー例">
  ![動的 API 統合ワークフロー例](https://assets-docs.dify.ai/dify-enterprise-mintlify/en/guides/workflow/node/090975269f8998f906c5636dde8d9540.png)
</Frame>

## 一般的な統合パターン

**API データ取得** - ユーザープロファイル、製品情報、または外部データを取得して、ワークフロー処理を充実させます。

**ウェブフック配信** - 通知、ステータス更新、または処理結果を外部システムやサービスに送信します。

**ファイル処理** - 分析用の文書をアップロード、さらなる処理用のリソースをダウンロード、またはクラウドストレージサービスとの統合。

**マルチステップ API ワークフロー** - 複数の API 呼び出しを連鎖させ、一つのリクエストからのレスポンスを使用して後続のリクエストを設定します。
