開発者向け機能:サーバスクリプト:httpClient
## 概要
[サーバスクリプト](/ja/manual/table-management-server-script)で外部のサービスと接続するためのHTTPクライアントを利用する際に使用します。
## プロパティ
|No|Name|Get|Set|Type|Description|
|:----|:----|:----|:----|:----|:----|
|1|RequestUri|○|○|string|接続先のURI|
|2|Content|○|○|string|送信するデータ|
|3|Encoding|○|○|string|エンコーディング(既定値は "utf-8")|
|4|MediaType|○|○|string|メディアの種類(既定値は "application/json")|
|5|RequestHeaders|○||Dictionary<string,string>|リクエストヘッダ。詳細は下記参照。|
|6|ResponseHeaders|○||Dictionary<string,IList<string>>|レスポンスヘッダ。詳細は下記参照。|
|7|IsSuccess|○||bool|直前に発行したリクエストが成功したか否かを取得。StatusCodeが200~299の範囲にある場合にTrueを返します|
|8|StatusCode|○||int|直前に発行したリクエストに対する応答メッセージのステータスコード|
### RequestHeadersプロパティの使用例
下記の様に、RequestHeadersプロパティの Add メソッドを使用することで、任意のリクエストヘッダを追加できます。
```javascript
httpClient.RequestHeaders.Add({ヘッダ名}, {値});
```
#### AuthorizationヘッダでBasic認証を行う場合
```javascript
let base64 = utilities.ConvertToBase64String('userName:password');
httpClient.RequestHeaders.Add("Authorization", "Basic " + base64);
httpClient.RequestUri= "https://servername/api/.....";
let result = httpClient.Get();
```
※文字列をBase64に変換するには、[utilities.ConvertToBase64String](/ja/manual/server-script-utilities-convert-to-base64-string)メソッドが利用可能です。
また、続けて別のヘッダを設定して送信する場合は、Clearメソッドでヘッダの内容をリセットしてください。
```javascript
httpClient.RequestHeaders.Clear();
httpClient.RequestHeaders.Add("Authorization", "Bearer " + "X2kKRHGI495Y.......");
```
### ResponseHeadersプロパティの使用例
下記のように外部APIにアクセスした際、ResponseHeadersプロパティの Item.get メソッドを使用することで、任意のレスポンスヘッダのプロパティ値を取得することができます。
``` javascript
httpClient.ResponseHeaders.Item.get({レスポンスヘッダのプロパティ名})
```
#### Access-Control-Allow-Originプロパティの値をレスポンスヘッダから取得したい場合
``` javascript
// 外部APIに接続
httpClient.RequestUri="https://savername/api/......";
let response = httpClient.Get();
// レスポンスヘッダを取得
var value = httpClient.ResponseHeaders.Item.get("Access-Control-Allow-Origin");
context.Log(value[0]);
```
また、続けて送信しレスポンスヘッダのプロパティ値を取得する場合は、Clearメソッドであらかじめヘッダの内容をリセットしてください。
```javascript
httpClient.RequestUri="https://savername/api/....../123/...";
let response = httpClient.Get();
var value = httpClient.ResponseHeaders.Item.get("Access-Control-Allow-Origin");
context.Log(value[0]);
// 続けて送信する前にResponseHeadersをクリア
httpClient.ResponseHeaders.Clear();
httpClient.RequestUri="https://savername/api/....../456/...";
response = httpClient.Get();
```
## メソッド
|No|Name|Description|
|:----|:----|:----|
|1|[Get](/manual/server-script-http-client-get)|GETメソッドを発行し結果を受け取ります。|
|2|[Post](/manual/server-script-http-client-post)|POSTメソッドを発行し結果を受け取ります。|
|3|[Put](/manual/server-script-http-client-put)|PUTメソッドを発行し結果を受け取ります。|
|4|[Delete](/manual/server-script-http-client-delete)|DELETEメソッドを発行し結果を受け取ります。|
|5|[Patch](/manual/server-script-http-client-patch)|PATCHメソッドを発行し結果を受け取ります。|
## 対応バージョン
|対応バージョン|内容|
|:--|:--|
|1.2.16.0以降|HttpClientを追加|
|1.3.9.0以降|RequestHeadersを追加|
|1.3.50.0以降|HttpClientのPatchメソッドを追加|
|1.4.8.0以降|ResponseHeadersを追加|
## 関連情報
<div id="ManualList"><ul><li><a href="/ja/manual/table-management-server-script">テーブルの管理:サーバスクリプト</a><span>2024/10/08 up</span></li></ul></article>
<ul><li><a href="/ja/manual/server-script">開発者向け機能:サーバスクリプト</a><span>2023/06/01 up</span></li>
<li><a href="/ja/manual/server-script-utilities-convert-to-base64-string">開発者向け機能:サーバスクリプト:utilities.ConvertToBase64String</a><span>2023/06/21 up</span></li>
<li><a href="/ja/manual/server-script-http-client-get">開発者向け機能:サーバスクリプト:httpClient.Get</a><span>2023/08/21 up</span></li>
<li><a href="/ja/manual/server-script-http-client-post">開発者向け機能:サーバスクリプト:httpClient.Post</a><span>2023/08/21 up</span></li>
<li><a href="/ja/manual/server-script-http-client-patch">開発者向け機能:サーバスクリプト:httpClient.Patch</a><span>2023/12/13 up</span></li>
<li><a href="/ja/manual/server-script-http-client-put">開発者向け機能:サーバスクリプト:httpClient.Put</a><span>2023/08/21 up</span></li>
<li><a href="/ja/manual/server-script-http-client-delete">開発者向け機能:サーバスクリプト:httpClient.Delete</a><span>2023/08/21 up</span></li></ul></article>
<ul><li><a href="/ja/manual/faq-server-script-log">FAQ:サーバスクリプトのエラーログを出力したい</a><span>2024/04/29 up</span></li></ul></article></div><input id="SearchTextHidden" type="hidden" value="" />