Docs Menu
Docs Home
/ /
HTTP

http.head()

http.head()

Sends an HTTP HEAD request to the specified URL using the Atlas App Services HTTP Service.

注意

この例では、 "myHtp" というHTTP Serviceを構成していることを前提としています。 サービス ルールで検証されるこの HTTP アクションが必要ない場合は、 HTTP requests の送信( context.httpモジュールを使用できます。

exports = function() {
const http = context.services.get("myHttp");
return http
.head({ url: "https://www.example.com/users" })
.then(response => {
// The response body is encoded as raw BSON.Binary. Parse it to JSON.
const ejson_body = EJSON.parse(response.body.text());
return ejson_body;
})
};

http.head()アクションは、次の形式の 1 つの引数を受け入れます。

{
"url": <string>,
"headers": <document>,
"cookies": <string>,
"authUrl": <string>,
"followRedirects": <boolean>
}
フィールド
説明

Request URL

url: <string>

必須。 HTTPリクエストのターゲットURL 。 あるいは、 URLのコンポーネントをルート レベル フィールドとして指定することもできます。 「 代替のURL引数 」を参照してください。

Request Headers

headers: <document>

任意。 各フィールド名がHTTPヘッダーのタイプに対応し、各フィールド値がそのヘッダーの 1 つ以上のstring値の配列であるドキュメント。

{
"Content-Type": [ "application/json" ]
}

Request Cookies

cookies: <document>

任意。 各フィールド名がクッキー名に対応し、各フィールド値がそのクッキーのstring値であるドキュメント。

{
"favoriteTeam": "Chicago Cubs"
}

Digest Authentication

digestAuth: <boolean>

任意。true の場合、App Services は ダイジェスト認証 を使用してリクエストを認証します。ダイジェスト認証を使用するには、usernamepassword(リクエストドキュメントのフィールドまたはURLの一部として)を指定する必要があります。詳細については、認証のリクエスト を参照してください。

Request Authentication URL

authUrl: <string>

任意。 HTTP リクエストの認可クッキーを許可する URL。

Follow Redirects

followRedirects: <boolean>

任意。 trueの場合、リクエストはターゲット URL に対して受信した HTTP リダイレクト に従います。

リクエストのターゲット URL の個々のコンポーネントを指定する必要がある場合は、 urlフィールドを省略し、コンポーネントをルートレベル フィールドとして指定します。 次の URL コンポーネント フィールドが利用できます。

<scheme>://<host>/<path>?<query>#<fragment>
{
"scheme": <string>,
"host": <string>,
"path": <string>,
"query": <document>,
"fragment": <string>,
"username": <string>,
"password": <string>
}
名前
内容

scheme

Optional. Default: "http".
Valid options: https, http

URL スキーム。

// https://www.example.com/
{ scheme: "https" }

host

Required.

ターゲット リソースのホスト名。

// https://www.example.com/
{ host: "www.example.com" }

path

Optional.

ターゲット リソースのパス。

// https://www.example.com/api/v1/users
{ path: "/api/v1/users" }

query

Optional.

各フィールドがURLクエリstringのパラメーターにマップされるドキュメント。 各フィールドの値は、パラメーターのすべての引数を含む string の配列です。

// https://www.example.com/?id=8675309&color=red&color=blue
{
query: {
"id": ["8675309"],
"color": ["red", "blue"]
}
}

fragment

Optional.

URL フラグメント。 URL のこの部分には、ハッシュ( # )記号の後のすべてが含まれます。

// https://www.example.com/?id=8675309#someFragment
{ fragment: "someFragment" }

username

Optional.

リクエストを認証するユーザー名。 通常、ユーザーはこの引数をpassword引数とともに使用します。

password

Optional.

リクエストを認証するためのパスワード。 パスワードは、 username引数で指定されたユーザーに対応する必要があります。

http.head()アクションは、次の形式のドキュメントに解決される Promise を返します。

{
"status": <string>,
"statusCode": <integer>,
"contentLength": <integer>,
"headers": <document>,
"cookies": <array>,
"body": <binary>
}
フィールド
タイプ
説明

status

string

HTTP リクエスト ステータス メッセージ。

statusCode

integer

HTTP リクエスト ステータス コード。

contentLength

integer

レスポンスbodyで返されたバイト数。

headers

ドキュメント

各フィールド名がHTTPヘッダーのタイプに対応し、各フィールド値がそのヘッダーの 1 つ以上のstring値の配列であるドキュメント。

{
"Content-Type": [ "application/json" ]
}

cookies

ドキュメント

各フィールド名がクッキー名に対応し、各フィールド値がそのクッキーのstring値であるドキュメント。

{
"favoriteTeam": "Chicago Cubs"
}

body

バイナリ

HTTP レスポンスのバイナリ エンコードされた本体。

標準のHTTP認証スキーム のいずれかを使用して、アウトバウンドHTTPリクエストを認証できます。Atlas App Services は次の認証スキームをサポートしています。

HTTP基本認証には、受信リクエストに要求されたサービスの有効なユーザー名とパスワードが含まれている必要があります。ユーザー認証情報は、リクエストドキュメントの username フィールドと password フィールドで、url string で直接、または許可HTTPヘッダーで指定できます。

次の例は、基本認証を使用してHTTP Serviceリクエストを認証する 3 つの同等の方法を示しています。 例えではすべて、ユーザー名MyUserとパスワードMypassw0rdが使用されています。 これらのオブジェクトの 1 つを、指定された HTTP メソッドへの引数として渡します。

認証情報を直接指定する(ベストメソッド)
{
"scheme": "https",
"username": "MyUser",
"password": "Mypassw0rd",
"domain": "www.example.com"
}
URL に認証情報を埋め込む
{
"url": "https://MyUser:Mypassw0rd@www.example.com"
}
認可ヘッダーを含める
{
"url": "https://www.example.com",
"headers": {
"Authorization": [
`Basic ${BSON.Binary.fromText("MyUser:Mypassw0rd").toBase64()}`
]
}
}

HTTP ダイジェスト認証では、受信リクエストにサーバーから返されたランダムな非次値に基づく認可キーが含まれている必要があります。App Services は、有効なユーザー名とパスワードが指定されている場合、自動的にキーを作成し、リクエストを承認できます。

ダイジェスト認証を使用するリクエストを構成するには、digestAuth フィールドを に設定し、リクエストtrue usernamepasswordドキュメントの フィールドと フィールドにユーザー認証情報を直接指定するか、url string で直接指定します。

次の例は、ダイジェスト認証を使用してHTTP Serviceリクエストを認証する 2 つの同等の方法を示しています。 例えではすべて、ユーザー名MyUserとパスワードMypassw0rdが使用されています。

認証情報を直接指定する(ベストメソッド)
{
"scheme": "https",
"username": "MyUser",
"password": "Mypassw0rd",
"domain": "www.example.com",
"digestAuth": true
}
URL に認証情報を埋め込む
{
"url": "https://MyUser:Mypassw0rd@www.example.com",
"digestAuth": true
}
{
"%%args.url.host": "example.com"
}
{
"%%args.url.query.someParameter": "importantValue"
}
{
"%%args.url.scheme: "https",
"%%args.url.host" : "www.example.com",
"%%args.url.path" : "/api/v1.0/messages"
}

戻る

http.delete()

項目一覧