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

# HTTP 操作

HTTP オペレーションでは、HTTP リクエストを送信できます。

以下の例は、post-job イベントで`httpPost` オペレーションを使用して、指定したURL にJSON ペイロードを送信します。

```xml theme={null}
<api:info title="After Run" desc="このイベントはジョブを実行した後に発生します。">
  <input name="JobName"         required="true" desc="実行されたジョブの名前。" />
  <input name="Source"          required="true" desc="データソース接続の名前。" />
  <input name="Destination"     required="true" desc="同期先接続の名前。" />
  <input name="JobStatus"       required="true" desc="完了した実行のステータス。"/>
  <input name="Query#"          required="true" desc="実行された各クエリを含む配列。" />
  <input name="QueryStatus#"    required="true" desc="実行された各クエリのステータスを含む配列。" />
</api:info>

<api:set attr="http.url"  value="http://mysite.com/log/"/> 
<api:set attr="http.header:name#1"  value="Token"/>
<api:set attr="http.header:value#1"  value="MyToken"/>
<api:set attr="http.contenttype"  value="application/json"/>
<api:set attr="http.postdata">
{
	"JobName":"[_input.jobname]",
	"Status":"[_input.JobStatus]"
}
</api:set>

<api:call op="httpPost" in="http"/>
```

## オペレーション

* [HTTP GET リクエストを作成](#httpget)
* [HTTP POST リクエストを作成](#httppost)
* [HTTP PUT リクエストを作成](#httpput)

### httpGet

HTTP GET メソッドを使用してWeb からドキュメントを取得します。

| インプット属性（必須） | 説明       |
| :---------- | :------- |
| url         | 取得するURL。 |

| インプット属性（オプション）  | 説明                                                                                  |
| :-------------- | :---------------------------------------------------------------------------------- |
| timeout         | オペレーションが完了するまでのタイムアウト（秒）。ゼロ（0）はタイムアウトなしを意味します。デフォルト値は`60` です。                       |
| cookie:\*       | リクエストに追加する任意のCookie。                                                                |
| user            | Auth-scheme パラメータが`None` 以外に設定されている場合に認証するユーザー名。                                    |
| password        | Auth-scheme パラメータが`None` 以外に設定されている場合に認証するパスワード。                                    |
| authscheme      | 使用する認可メカニズム。ユーザーとパスワードが提供された場合のみ適用されます。BASIC、DIGEST、NTLM が使用可能です。デフォルト値は`BASIC` です。 |
| header:name#    | リクエストで渡す各カスタムヘッダーの名前。                                                               |
| header:value#   | リクエストで渡す各カスタムヘッダーの値。                                                                |
| ifmodifiedsince | 検索結果のフィルタとして使用するIF-MODIFIED-SINCE の日時を指定します（例：`Sat, 25 Feb 2006 04:11:47 GMT`）。     |
| localfile       | 指定した場合、GET メソッドの結果がこのファイルに書き込まれます。                                                  |
| logfile         | リクエストとレスポンスのデータをログに記録するためのファイルへのフルパス。`verbosity` と併用する必要があります。                      |
| verbosity       | ログファイルの冗長性。`1`（最小）から`5`（最大）。                                                        |

| アウトプット属性        | 説明                                |
| :-------------- | :-------------------------------- |
| ssl:issuer      | SSL/TLS 証明書の発行者。                  |
| ssl:subject     | SSL/TLS 証明書のサブジェクト。               |
| http:statuscode | リクエストから返されたHTTP ステータスコード。         |
| http:content    | HTTP レスポンスのコンテンツ。                 |
| cookie:\*       | レスポンスで返されたCookie。                 |
| http:allcookies | 単一の文字列として返された、レスポンスからのすべてのCookie。 |
| header:\*       | レスポンスで返されたヘッダー。                   |

### httpPost

HTTP POST メソッドを使用してURL にデータを送信します。

| インプット属性（必須） | 説明       |
| :---------- | :------- |
| url         | 同期先のURL。 |

| インプット属性（オプション）  | 説明                                                                                          |
| :-------------- | :------------------------------------------------------------------------------------------ |
| timeout         | オペレーションが完了するまでのタイムアウト（秒）。ゼロ（0）はタイムアウトなしを意味します。デフォルト値は`60` です。                               |
| cookie:\*       | リクエストに追加する任意のCookie。                                                                        |
| user            | authscheme パラメータがNone 以外に設定されている場合に認証するユーザー名。                                               |
| password        | authscheme パラメータがNone 以外に設定されている場合に認証するパスワード。                                               |
| authscheme      | 使用する認可メカニズム。ユーザーとパスワードが提供された場合のみ適用されます。`BASIC`、`DIGEST`、および`NTLM`が使用可能です。デフォルト値は`BASIC` です。 |
| header:name#    | リクエストで渡す各カスタムヘッダーの名前。                                                                       |
| header:value#   | リクエストで渡す各カスタムヘッダーの値。                                                                        |
| ifmodifiedsince | 検索結果のフィルタとして使用するIF-MODIFIED-SINCE の日時を指定します（例：`Sat, 25 Feb 2006 04:11:47 GMT`）。             |
| localfile       | 指定した場合、GET メソッドの結果がこのファイルに書き込まれます。                                                          |
| paramname#      | リクエストで渡す各パラメータの名前。                                                                          |
| paramvalue#     | リクエストで渡す各パラメータの値。                                                                           |
| postdata        | POST メソッドに含めるデータ。file:// の後にファイルパスを使用して、ファイルのコンテンツを送信します。                                   |
| contenttype     | POST メソッドのコンテンツタイプ。デフォルト値は`application/x-www-form-urlencoded` です。                           |
| logfile         | リクエストとレスポンスのデータをログに記録するためのファイルへのフルパス。`verbosity` と併用する必要があります。                              |
| verbosity       | ログファイルの冗長性。`1`（最小）から`5`（最大）。                                                                |

| アウトプット属性        | 説明                                |
| :-------------- | :-------------------------------- |
| ssl:issuer      | SSL/TLS 証明書の発行者。                  |
| ssl:subject     | SSL/TLS 証明書のサブジェクト。               |
| http:statuscode | リクエストから返されたHTTP ステータスコード。         |
| http:content    | HTTP レスポンスのコンテンツ。                 |
| cookie:\*       | レスポンスで返されたCookie。                 |
| http:allcookies | 単一の文字列として返された、レスポンスからのすべてのCookie。 |
| header:\*       | レスポンスで返されたヘッダー。                   |

### httpPut

HTTP PUT メソッドを使用してWeb ドキュメントを配置します。

| インプット属性（必須） | 説明       |
| :---------- | :------- |
| url         | 同期先のURL。 |

| インプット属性（オプション）  | 説明                                                                                        |
| :-------------- | :---------------------------------------------------------------------------------------- |
| timeout         | オペレーションが完了するまでのタイムアウト（秒）。ゼロ（0）はタイムアウトなしを意味します。デフォルト値は`60` です。                             |
| cookie:\*       | リクエストに追加する任意のCookie。                                                                      |
| user            | authscheme パラメータが`None` 以外に設定されている場合に認証するユーザー名。                                           |
| password        | authscheme パラメータが`None` 以外に設定されている場合に認証するパスワード。                                           |
| authscheme      | 使用する認可メカニズム。ユーザーとパスワードが提供された場合のみ適用されます。`BASIC`、`DIGEST`、`NTLM` が使用可能です。デフォルト値は`BASIC` です。 |
| header:name#    | リクエストで渡す各カスタムヘッダーの名前。                                                                     |
| header:value#   | リクエストで渡す各カスタムヘッダーの値。                                                                      |
| ifmodifiedsince | 検索結果のフィルタとして使用するif-modified-since の日時を指定します（例：`Sat, 25 Feb 2006 04:11:47 GMT`）。           |
| localfile       | 指定した場合、GET メソッドの結果がこのファイルに書き込まれます。                                                        |
| paramname#      | リクエストで渡す各パラメータの名前。                                                                        |
| paramvalue#     | リクエストで渡す各パラメータの値。                                                                         |
| putdata         | PUT メソッドに含めるデータ。file:// の後にファイルパスを使用して、ファイルのコンテンツを配置します。                                  |
| contenttype     | POST メソッドのコンテンツタイプ。デフォルト値は`text/html` です。                                                 |
| logfile         | リクエストとレスポンスのデータをログに記録するためのファイルへのフルパス。`verbosity` と併用する必要があります。                            |
| verbosity       | ログファイルの冗長性。`1`（最小）から`5`（最大）。                                                              |

| アウトプット属性        | 説明                                |
| :-------------- | :-------------------------------- |
| ssl:issuer      | SSL/TLS 証明書の発行者。                  |
| ssl:subject     | SSL/TLS 証明書のサブジェクト。               |
| http:statuscode | リクエストから返されたHTTP ステータスコード。         |
| http:content    | HTTP レスポンスのコンテンツ。                 |
| cookie:\*       | レスポンスで返されたCookie。                 |
| http:allcookies | 単一の文字列として返された、レスポンスからのすべてのCookie。 |
| header:\*       | レスポンスで返されたヘッダー。                   |
