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

# httpGet

> Web ベースのAPI エンドポイントからリソースを取得するために、HTTP GET リクエストを発行します。

特定のWeb ベースのAPI リソースに対してHTTP GET リクエストを発行します。

## 必要なパラメータ

* **url**：GET リクエストの発行先となるURL。

## オプションのパラメータ

* **authentication**：ベアラートークンなど、手動で生成された認可ヘッダーを設定するために使用します。
* **authscheme**：使用する認可メカニズム。ユーザーとパスワードが提供された場合のみ適用されます。`BASIC`、`DIGEST`、`NONE`、および`NTLM` が使用可能です。デフォルト値は`BASIC` です。
  * **user**：authscheme パラメータが`NONE` 以外に設定されている場合に認証するユーザー名。
  * **password**：authscheme パラメータが`NONE` 以外に設定されている場合に認証するパスワード。
* **charset**：交換 / 転送されるデータの文字セット。デフォルトは`UTF-8` です。
* **client\_id**：クライアントId。OAuth 1.0 でのみ利用可能です。
* **client\_secret**：クライアントシークレット。OAuth 1.0 でのみ利用可能です。
* **cookie:\***：リクエストに追加する任意のCookie。
* **firewall\_port**：ファイアウォールのポート番号。
* **firewall\_server**：ファイアウォールのIP アドレスまたはホスト名。
  * **firewall\_user**：ファイアウォールに認証するためのユーザーId。
  * **firewall\_password**：ファイアウォールに認証するためのパスワード。
* **firewall\_type**：ファイアウォールのタイプ。`NONE`、`TUNNEL`、`SOCKS4`、および`SOCKS5` が使用可能です。デフォルト値は`NONE` です。
* **followredirects**：HTTP リダイレクトに従うかどうか。`TRUE` または`FALSE` が使用可能です。デフォルト値は`TRUE` です。
* **header:name#**：リクエストで渡す各カスタムヘッダーの名前。
* **header:value#**：リクエストで渡す各カスタムヘッダーの値。
* **httpversion**：使用するHTTP プロトコルのバージョン。`1.0` または`1.1` が使用可能です。デフォルトは`1.1` です。
* **ifmodifiedsince**：検索結果のフィルタとして使用するif-modified-since の日時を指定します（例：Sat, 25 Feb 2024 04:11:47 GMT）。
* **internalconfig#**：内部コンフィギュレーション設定の設定。
* **localfile**：指定した場合、GET の結果がこのファイルに書き込まれます。
* **logfile**：リクエストとレスポンスのデータをログに記録するためのファイルへのフルパス。`verbosity` と併用する必要があります。
* **sign\_method**：OAuth 1.0 で署名を計算する際の署名メソッド。`HMAC-SHA1` および`PLAINTEXT` が使用可能です。デフォルト値は`HMAC-SHA1` です。
* **sslcert**：サーバーから受け入れるSSL/TLS 証明書。完全なPEM 証明書、証明書を含むファイルへのパス、公開鍵、MD5 サムプリント、またはSHA-1 サムプリントの形式を取ることができます。指定したもの以外の証明書はすべて拒否されます。指定しない場合、この値はデフォルトで`TRUSTED` となり、システムが信頼する証明書のみが受け入れられます。`*` に設定すると、すべての証明書が受け入れられます。
* **proxy\_authscheme**：プロキシサーバーの認証スキーム。`BASIC`、`DIGEST`、`PROPRIETARY`、`NONE`、および`NTLM` が使用可能です。デフォルト値は`BASIC` です。
* **proxy\_authtoken**：プロキシ認証トークン。
* **proxy\_auto**：Windows システム設定からプロキシが検出されるかどうか。これは他のプロキシ設定より優先され、Java では使用できません。`TRUE` または`FALSE` が使用可能です。デフォルト値は`FALSE` です。
* **proxy\_port**：プロキシサーバーのポート番号。
* **proxy\_server**：リクエストに使用するプロキシサーバーのIP アドレスまたはホスト名。
  * **proxy\_user**：プロキシサーバーに認証するためのユーザーId。
  * **proxy\_password**：プロキシサーバーに認証するためのパスワード。
* **proxy\_ssltype**：プロキシサーバーのSSL/TLS タイプ。`AUTO`、`ALWAYS`、`NEVER`、および`TUNNEL` が使用可能です。デフォルトは`AUTO` です。
* **sslclientcert**：クライアント証明書のための証明書ストア名。
* **sslclientcertpassword**：クライアント証明書のパスワード。
* **sslclientcertsubject**：クライアント証明書のサブジェクト。アスタリスクを使用すると、ストア内の最初の証明書が検索されます。
* **sslclientcerttype**：クライアント証明書のストアタイプ。`USER`、`MACHINE`、`PFXFILE`、`PFXBLOB`、`JKSFILE`、`JKSBLOB`、`PEMKEY\_FILE`、`PEMKEY\_BLOB`、`PUBLIC\_KEY\_FILE`、`PUBLIC\_KEY\_BLOB`、`SSHPUBLIC\_KEY\_BLOB`、`P7BFILE`、`P7BBLOB`、`SSHPUBLIC\_KEY\_FILE`、`PPKFILE`、`PPKBLOB`、`XMLFILE`、および`XMLBLOB` が使用可能です。
* **timeout**：オペレーションが完了するまでのタイムアウト（秒）。ゼロ（0）はタイムアウトなしを意味します。デフォルトは`60` です。
* **token**：OAuth のリクエストトークン。
* **token\_secret**：リクエストトークンシークレット。OAuth 1.0 でのみ利用可能です。
* **verbosity**：ログファイルの冗長性。1（最小）から5（最大）。
* **version**：OAuth のバージョン。OAuth を使用してリクエストを認可します。`Disabled`、`1.0`、および`2.0` が使用可能です。デフォルト値は`Disabled` です。

## アウトプット属性

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

## 例

```xml theme={null}
<arc:set attr="http.URL" value="https://postman-echo.com/basic-auth" />
<!-- Adding an HTTP header to the GET request -->
<arc:set attr="http.header:name#1" value="mySpecialHeader" />
<arc:set attr="http.header:value#1"value="Foo" />
<!-- Setting the credentials via basic authentication -->
<arc:set attr="http.user" value="postman" />
<arc:set attr="http.password" value="password" />
<!-- Optional logging parameter. Useful when troubleshooting a request -->
<arc:set attr="http.logfile" value="/tmp/httpLog.txt" />
<arc:set attr="http.verbosity" value="3" />

<!-- Passing in the http input item to the call and setting the data of the output file to be the HTTP response -->
<arc:call op="httpGet" in="http" out="response">
  <arc:set attr="output.data" value="[response.http:content]" />
</arc:call>

<!-- Setting the output filename and pushing the file out -->
<arc:set attr="output.filename" value="httpResponseContent.txt" />
<arc:push item="output" />
```
