Docs Menu
Docs Home
/ /
Atlas App Services
/ / /

http.get()을 호출합니다.

이 페이지의 내용

  • 정의
  • 사용법
  • 예시
  • 매개변수
  • 반환 값
  • 규칙 템플릿
  • 사용자는 특정 호스트에게만 요청을 보낼 수 있습니다.
  • 요청 URL에는 특정 쿼리 매개변수가 포함되어야 합니다.
  • 요청은 특정 경로로 보내야 합니다.
http.get()

HTTP GET 를 전송합니다. Atlas App Services HTTP Service 를 사용하여지정된 URL 로 요청 합니다.

참고

이 예시 에서는 "myHttp" 라는 HTTP Service 를 구성 했다고 가정합니다. 서비스 규칙 을 사용하여 이 HTTP 조치 의 유효성을 검사할 필요가 없는 경우 HTTP 요청 보내기(context.http) 모듈을 사용할 수 있습니다.

exports = function() {
const http = context.services.get("myHttp");
return http
.get({ 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.get() 작업은 다음 형식의 인수를 하나만 받습니다.

{
"url": <string>,
"headers": <document>,
"cookies": <string>,
"digestAuth": <boolean>,
"authUrl": <string>,
"followRedirects": <boolean>
}
필드
설명

Request URL

url: <string>
필수입니다. HTTP 요청 의 대상 URL 입니다. 또는 URL 의 구성 요소를 루트 수준 필드로 지정할 수 있습니다. 대체 URL 인수를 참조하세요.

Request Headers

headers: <document>

선택 사항. 각 필드 이름이 HTTP header 유형에 해당하고 각 필드 값이 해당 헤더에 대한 하나 이상의 문자열 값 배열인 문서입니다.

예시

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

Request Cookies

cookies: <document>

선택 사항. 각 필드 이름이 쿠키 이름에 해당하고 각 필드 값이 해당 쿠키의 문자열 값인 문서입니다.

예시

{
"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 쿼리 문자열의 매개변수에 매핑되는 문서입니다. 각 필드의 값은 매개변수에 대한 모든 인수를 포함하는 문자열 배열입니다.

예시

// 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.get() 작업은 다음 형식의 문서로 확인되는 프로미스(Promise)를 반환합니다.

{
"status": <string>,
"statusCode": <integer>,
"contentLength": <integer>,
"headers": <document>,
"cookies": <array>,
"body": <binary>
}
필드
유형
설명
status
문자열
HTTP 요청 상태 메시지입니다.
statusCode
integer
HTTP 요청 상태 코드입니다.
contentLength
integer
응답 body에서 반환된 바이트 수입니다.
headers
문서

각 필드 이름이 HTTP header 유형에 해당하고 각 필드 값이 해당 헤더에 대한 하나 이상의 문자열 값 배열인 문서입니다.

예시

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

각 필드 이름이 쿠키 이름에 해당하고 각 필드 값이 해당 쿠키의 문자열 값인 문서입니다.

예시

{
"favoriteTeam": "Chicago Cubs"
}
body
바이너리
HTTP 응답의 이진 인코딩 본문입니다.

표준 HTTP 인증 체계 중 하나를 사용하여 아웃바운드 HTTP 요청을 인증할 수 있습니다. . Atlas App Services는 다음 인증 체계를 지원합니다.

HTTP 기본 인증 수신 요청에는 요청된 서비스에 대한 유효한 사용자 이름과 비밀번호가 포함되어야 합니다. username password 요청 문서의 및 url string 필드, 또는 권한 부여 필드에 직접 사용자 자격 증명을 지정할 수 HTTP 있습니다. 헤더.

예시

다음 예시는 기본 인증을 사용하여 HTTP 서비스 요청을 인증하는 세 가지 동일한 방법을 보여줍니다. 예시에서는 모두 사용자 이름 MyUser와(과) 비밀번호 Mypassw0rd을(를) 사용합니다. 이러한 객체 중 하나를 주어진 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 문자열에 직접 지정합니다.

예시

다음 예에서는 다이제스트 인증을 사용하여 HTTP 서비스 요청을 인증하는 두 가지 동일한 방법을 보여줍니다. 예시에서는 모두 사용자 이름 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