객체 내장 객체

객체Http클라이언트

HttpClient는 HTTP 클라이언트 기능을 위해 설계된 클래스 라이브러리로 기본 HTTP/HTTPS 요청, 프록시 액세스, 쿠키 관리 및 기타 기능을 제공합니다.

HttpClient를 사용하여 웹페이지에 쉽게 접근하고 운영할 수 있습니다.다음은 웹페이지에 소스 코드를 인쇄하는 간단한 예입니다.

1 2 3 4 5
const http = require('http'); const res = http.get('http://www.example.com/'); console.log(res.body.readAll().toString());

이 예에서는 require를 통해 소개되었습니다.http모듈을 사용한 다음 사용하십시오.http.getget 요청을 시작합니다. 여기서url매개변수는 요청된 URL을 지정합니다. 왜냐하면http.get이 메서드는HttpResponseObject이므로 body 속성을 통해 요청에서 반환된 본문 콘텐츠에 액세스하고 toString 메서드를 통해 이를 문자열로 변환할 수 있습니다.

요청 시url대신 https 유형입니다.http유형을 입력하면 코드만 변경하면 됩니다.httphttps로 변경하면 됩니다.

1 2 3 4 5
const http = require('http'); const res = http.get('https://www.example.com/'); console.log(res.body.readAll().toString());

또한 POST 요청을 직접 시작하고 HttpClient를 통해 User-Agent를 설정하는 예가 있습니다.

1 2 3 4 5 6 7 8 9 10 11
const http = require('http'); const httpClient = new http.Client(); httpClient.userAgent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36'; const res = httpClient.post('http://www.example.com/post', { json: { name: 'fibjs', version: '0.31.0' } }); console.log(res.body.readAll().toString());

이 예에서는 HttpClient 개체 httpClient가 먼저 생성되고 해당 userAgent가 브라우저의 User-Agent로 설정됩니다. 그런 다음 매개변수 이름과 버전이 요청의 주요 내용을 지정하는 post 메서드를 통해 게시 요청을 시작합니다. 마지막으로 반환 값의 주요 내용이 출력됩니다.

상속관계

건설자

HttpClient

HttpClient 생성자, 새 HttpClient 객체를 생성합니다.

1
new HttpClient();

구성원 속성

cookies

NArray, 반환http고객HttpCookie개체 목록

1
readonly NArray HttpClient.cookies;

timeout

정수, 쿼리 및 설정 시간 초과 단위 밀리초

1
Integer HttpClient.timeout;

enableCookie

부울, 쿠키 기능 스위치, 기본적으로 활성화됨

1
Boolean HttpClient.enableCookie;

autoRedirect

부울, 자동 리디렉션 기능 스위치, 기본적으로 활성화됨

1
Boolean HttpClient.autoRedirect;

enableEncoding

부울, 자동 압축 해제 기능 스위치, 기본적으로 활성화됨

1
Boolean HttpClient.enableEncoding;

maxHeadersCount

정수, 요청 헤더의 최대 수를 쿼리하고 설정합니다. 기본값은 128입니다.

1
Integer HttpClient.maxHeadersCount;

maxHeaderSize

정수, 쿼리 및 최대 요청 헤더 길이 설정, 기본값은 8192

1
Integer HttpClient.maxHeaderSize;

maxBodySize

정수, 쿼리 및 본문의 최대 크기 설정(MB), 기본값은 -1, 크기 제한 없음

1
Integer HttpClient.maxBodySize;

userAgent

문자열, 쿼리 및 집합http요청의 브라우저 식별자

1
String HttpClient.userAgent;

poolSize

정수, 연결 유지 캐시 연결의 최대 수를 쿼리하고 설정합니다. 기본값은 128입니다.

1
Integer HttpClient.poolSize;

poolTimeout

정수, 쿼리 및 연결 유지 캐시 연결 시간 제한 설정(기본값 10000ms)

1
Integer HttpClient.poolTimeout;

http_proxy

문자열, 쿼리 및 집합http상담원, 지원 요청http/https/socks5 프록시

1
String HttpClient.http_proxy;

https_proxy

문자열, 쿼리 및 https 요청 프록시 설정, 지원http/https/socks5 프록시가 설정되지 않거나 비어 있으면 http_proxy가 재사용됩니다.

1
String HttpClient.https_proxy;

sslVerification

정수, https 접속시 인증서 검증 모드를 조회하고 설정, 참조sslVERIFY_* 모듈의 상수, 기본값은ssl.verification

1
Integer HttpClient.sslVerification;

멤버 함수

setClientCert

기본 클라이언트 인증서 설정

1 2
HttpClient.setClientCert(X509Cert crt, PKey key);

호출 매개변수:

  • crt:X509Cert, 클라이언트를 확인하기 위해 서버로 보내는 데 사용되는 인증서
  • key:PKey, 클라이언트와 대화하는 데 사용되는 개인 키

request

보내다http지정된 스트림 객체를 요청하고 결과를 반환합니다.

1 2
HttpResponse HttpClient.request(Stream conn, HttpRequest req) async;

호출 매개변수:

결과 반환:


보내다http지정된 스트림 객체를 요청하고 결과를 반환합니다.

1 2 3
HttpResponse HttpClient.request(Stream conn, HttpRequest req, SeekableStream response_body) async;

호출 매개변수:

결과 반환:


지정된 요청url, 그리고 결과를 반환

1 2 3
HttpResponse HttpClient.request(String method, String url, Object opts = {}) async;

호출 매개변수:

  • method: 문자열, 지정http요청 방식 : GET, POST 등
  • url: 문자열, 지정url, 완전한 포함 호스트여야 합니다.url
  • opts: 객체, 추가 정보 지정

결과 반환:

opts에는 다음과 같이 지원되는 요청에 대한 추가 옵션이 포함되어 있습니다.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
{ "method": "GET", // specify the http request method: GET, POST, etc, default: GET. "protocol": "http", "slashes": true, "username": "", "password": "", "hostname": "", "port": "", "pathname": "", "query": {}, "body": SeekableStream | Buffer | String | {}, "json": {}, "pack": {}, "headers": {}, "response_body": SeekableStream // specify the response.body stream }

그 중에는 신체,json, 팩은 동시에 나타나서는 안 됩니다. 기본값은 추가 정보를 포함하지 않는 {}입니다.


GET 메소드를 사용하여 지정된 요청url, request("GET", ...)와 동일한 결과를 반환합니다.

1 2
HttpResponse HttpClient.request(String url, Object opts = {}) async;

호출 매개변수:

  • url: 문자열, 지정url, 완전한 포함 호스트여야 합니다.url
  • opts: 객체, 추가 정보 지정

결과 반환:

opts에는 다음과 같이 지원되는 요청에 대한 추가 옵션이 포함되어 있습니다.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
{ "method": "GET", // specify the http request method: GET, POST, etc, default: GET. "protocol": "http", "slashes": true, "username": "", "password": "", "hostname": "", "port": "", "pathname": "", "query": {}, "body": SeekableStream | Buffer | String | {}, "json": {}, "pack": {}, "headers": {} }

그 중에는 신체,json, 팩은 동시에 나타나서는 안 됩니다. 기본값은 추가 정보를 포함하지 않는 {}입니다.


지정된 요청 옵션url, 그리고 결과를 반환

1
HttpResponse HttpClient.request(Object opts) async;

호출 매개변수:

  • opts: 객체, 추가 정보 지정

결과 반환:

opts에는 다음과 같이 지원되는 요청에 대한 추가 옵션이 포함되어 있습니다.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
{ "method": "GET", // specify the http request method: GET, POST, etc, default: GET. "protocol": "http", "slashes": true, "username": "", "password": "", "hostname": "", "port": "", "pathname": "", "query": {}, "body": SeekableStream | Buffer | String | {}, "json": {}, "pack": {}, "headers": {} }

그 중에는 신체,json, 팩은 동시에 나타나서는 안 됩니다. 기본값은 추가 정보를 포함하지 않는 {}입니다.


get

GET 메소드를 사용하여 지정된 요청url, request("GET", ...)와 동일한 결과를 반환합니다.

1 2
HttpResponse HttpClient.get(String url, Object opts = {}) async;

호출 매개변수:

  • url: 문자열, 지정url, 완전한 포함 호스트여야 합니다.url
  • opts: 객체, 추가 정보 지정

결과 반환:

opts에는 다음과 같이 지원되는 요청에 대한 추가 옵션이 포함되어 있습니다.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
{ "method": "GET", // specify the http request method: GET, POST, etc, default: GET. "protocol": "http", "slashes": true, "username": "", "password": "", "hostname": "", "port": "", "pathname": "", "query": {}, "body": SeekableStream | Buffer | String | {}, "json": {}, "pack": {}, "headers": {} }

그 중에는 신체,json, 팩은 동시에 나타나서는 안 됩니다. 기본값은 추가 정보를 포함하지 않는 {}입니다.


post

POST 메소드를 사용하여 지정된 요청url, request("POST", ...)와 동일한 결과를 반환합니다.

1 2
HttpResponse HttpClient.post(String url, Object opts = {}) async;

호출 매개변수:

  • url: 문자열, 지정url, 완전한 포함 호스트여야 합니다.url
  • opts: 객체, 추가 정보 지정

결과 반환:

opts에는 다음과 같이 지원되는 요청에 대한 추가 옵션이 포함되어 있습니다.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
{ "method": "GET", // specify the http request method: GET, POST, etc, default: GET. "protocol": "http", "slashes": true, "username": "", "password": "", "hostname": "", "port": "", "pathname": "", "query": {}, "body": SeekableStream | Buffer | String | {}, "json": {}, "pack": {}, "headers": {} }

그 중에는 신체,json, 팩은 동시에 나타나서는 안 됩니다. 기본값은 추가 정보를 포함하지 않는 {}입니다.


del

DELETE 메소드를 사용하여 지정된 요청url, request("DELETE", ...)와 동일한 결과를 반환합니다.

1 2
HttpResponse HttpClient.del(String url, Object opts = {}) async;

호출 매개변수:

  • url: 문자열, 지정url, 완전한 포함 호스트여야 합니다.url
  • opts: 객체, 추가 정보 지정

결과 반환:

opts에는 다음과 같이 지원되는 요청에 대한 추가 옵션이 포함되어 있습니다.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
{ "method": "GET", // specify the http request method: GET, POST, etc, default: GET. "protocol": "http", "slashes": true, "username": "", "password": "", "hostname": "", "port": "", "pathname": "", "query": {}, "body": SeekableStream | Buffer | String | {}, "json": {}, "pack": {}, "headers": {} }

그 중에는 신체,json, 팩은 동시에 나타나서는 안 됩니다. 기본값은 추가 정보를 포함하지 않는 {}입니다.


put

PUT 메소드를 사용하여 지정된 요청url, request("PUT", ...)와 동일한 결과를 반환합니다.

1 2
HttpResponse HttpClient.put(String url, Object opts = {}) async;

호출 매개변수:

  • url: 문자열, 지정url, 완전한 포함 호스트여야 합니다.url
  • opts: 객체, 추가 정보 지정

결과 반환:

opts에는 다음과 같이 지원되는 요청에 대한 추가 옵션이 포함되어 있습니다.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
{ "method": "GET", // specify the http request method: GET, POST, etc, default: GET. "protocol": "http", "slashes": true, "username": "", "password": "", "hostname": "", "port": "", "pathname": "", "query": {}, "body": SeekableStream | Buffer | String | {}, "json": {}, "pack": {}, "headers": {} }

그 중에는 신체,json, 팩은 동시에 나타나서는 안 됩니다. 기본값은 추가 정보를 포함하지 않는 {}입니다.


patch

PATCH 메소드를 사용하여 지정된 요청url, request("PATCH", ...)와 동일한 결과를 반환합니다.

1 2
HttpResponse HttpClient.patch(String url, Object opts = {}) async;

호출 매개변수:

  • url: 문자열, 지정url, 완전한 포함 호스트여야 합니다.url
  • opts: 객체, 추가 정보 지정

결과 반환:

opts에는 다음과 같이 지원되는 요청에 대한 추가 옵션이 포함되어 있습니다.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
{ "method": "GET", // specify the http request method: GET, POST, etc, default: GET. "protocol": "http", "slashes": true, "username": "", "password": "", "hostname": "", "port": "", "pathname": "", "query": {}, "body": SeekableStream | Buffer | String | {}, "json": {}, "pack": {}, "headers": {} }

그 중에는 신체,json, 팩은 동시에 나타나서는 안 됩니다. 기본값은 추가 정보를 포함하지 않는 {}입니다.


HEAD 메소드를 사용하여 지정된 요청url, request("PATCH", ...)와 동일한 결과를 반환합니다.

1 2
HttpResponse HttpClient.head(String url, Object opts = {}) async;

호출 매개변수:

  • url: 문자열, 지정url, 완전한 포함 호스트여야 합니다.url
  • opts: 객체, 추가 정보 지정

결과 반환:

opts에는 다음과 같이 지원되는 요청에 대한 추가 옵션이 포함되어 있습니다.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
{ "method": "GET", // specify the http request method: GET, POST, etc, default: GET. "protocol": "http", "slashes": true, "username": "", "password": "", "hostname": "", "port": "", "pathname": "", "query": {}, "body": SeekableStream | Buffer | String | {}, "json": {}, "pack": {}, "headers": {} }

그 중에는 신체,json, 팩은 동시에 나타나서는 안 됩니다. 기본값은 추가 정보를 포함하지 않는 {}입니다.


toString

객체의 문자열 표현을 반환하며 일반적으로 "[Native Object]"를 반환하며 객체 자체의 특성에 따라 다시 구현될 수 있습니다.

1
String HttpClient.toString();

결과 반환:

  • String, 객체의 문자열 표현을 반환합니다.

toJSON

객체의 JSON 형식 표현을 반환하며 일반적으로 객체에 의해 정의된 읽을 수 있는 속성 컬렉션을 반환합니다.

1
Value HttpClient.toJSON(String key = "");

호출 매개변수:

  • key: 문자열, 사용되지 않음

결과 반환:

  • Value, 직렬화 가능한 JSON을 포함하는 값을 반환합니다.