객체Http클라이언트
HttpClient는 HTTP 클라이언트 기능을 위해 설계된 클래스 라이브러리로 기본 HTTP/HTTPS 요청, 프록시 액세스, 쿠키 관리 및 기타 기능을 제공합니다.
HttpClient를 사용하여 웹페이지에 쉽게 접근하고 운영할 수 있습니다.다음은 웹페이지에 소스 코드를 인쇄하는 간단한 예입니다.
1
2
3
4
5const 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
5const 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
11const 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 객체를 생성합니다.
1new HttpClient();
구성원 속성
cookies
NArray, 반환http고객HttpCookie개체 목록
1readonly NArray HttpClient.cookies;
timeout
정수, 쿼리 및 설정 시간 초과 단위 밀리초
1Integer HttpClient.timeout;
enableCookie
부울, 쿠키 기능 스위치, 기본적으로 활성화됨
1Boolean HttpClient.enableCookie;
autoRedirect
부울, 자동 리디렉션 기능 스위치, 기본적으로 활성화됨
1Boolean HttpClient.autoRedirect;
enableEncoding
부울, 자동 압축 해제 기능 스위치, 기본적으로 활성화됨
1Boolean HttpClient.enableEncoding;
maxHeadersCount
정수, 요청 헤더의 최대 수를 쿼리하고 설정합니다. 기본값은 128입니다.
1Integer HttpClient.maxHeadersCount;
maxHeaderSize
정수, 쿼리 및 최대 요청 헤더 길이 설정, 기본값은 8192
1Integer HttpClient.maxHeaderSize;
maxBodySize
정수, 쿼리 및 본문의 최대 크기 설정(MB), 기본값은 -1, 크기 제한 없음
1Integer HttpClient.maxBodySize;
userAgent
문자열, 쿼리 및 집합http요청의 브라우저 식별자
1String HttpClient.userAgent;
poolSize
정수, 연결 유지 캐시 연결의 최대 수를 쿼리하고 설정합니다. 기본값은 128입니다.
1Integer HttpClient.poolSize;
poolTimeout
정수, 쿼리 및 연결 유지 캐시 연결 시간 제한 설정(기본값 10000ms)
1Integer HttpClient.poolTimeout;
http_proxy
문자열, 쿼리 및 집합http상담원, 지원 요청http/https/socks5 프록시
1String HttpClient.http_proxy;
https_proxy
문자열, 쿼리 및 https 요청 프록시 설정, 지원http/https/socks5 프록시가 설정되지 않거나 비어 있으면 http_proxy가 재사용됩니다.
1String HttpClient.https_proxy;
sslVerification
정수, https 접속시 인증서 검증 모드를 조회하고 설정, 참조sslVERIFY_* 모듈의 상수, 기본값은ssl.verification
1Integer HttpClient.sslVerification;
멤버 함수
setClientCert
기본 클라이언트 인증서 설정
1
2HttpClient.setClientCert(X509Cert crt,
PKey key);
호출 매개변수:
request
보내다http지정된 스트림 객체를 요청하고 결과를 반환합니다.
1
2HttpResponse HttpClient.request(Stream conn,
HttpRequest req) async;
호출 매개변수:
- conn:Stream, 요청을 처리할 스트림 개체를 지정합니다.
- req:HttpRequest, 보낼 예정HttpRequest물체
결과 반환:
- HttpResponse, 서버 응답을 반환합니다.
보내다http지정된 스트림 객체를 요청하고 결과를 반환합니다.
1
2
3HttpResponse HttpClient.request(Stream conn,
HttpRequest req,
SeekableStream response_body) async;
호출 매개변수:
- conn:Stream, 요청을 처리할 스트림 개체를 지정합니다.
- req:HttpRequest, 보낼 예정HttpRequest물체
- response_body:SeekableStream, response.body 스트림을 지정합니다.
결과 반환:
- HttpResponse, 서버 응답을 반환합니다.
지정된 요청url, 그리고 결과를 반환
1
2
3HttpResponse HttpClient.request(String method,
String url,
Object opts = {}) async;
호출 매개변수:
결과 반환:
- HttpResponse, 서버 응답을 반환합니다.
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
2HttpResponse HttpClient.request(String url,
Object opts = {}) async;
호출 매개변수:
결과 반환:
- HttpResponse, 서버 응답을 반환합니다.
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, 그리고 결과를 반환
1HttpResponse HttpClient.request(Object opts) async;
호출 매개변수:
- opts: 객체, 추가 정보 지정
결과 반환:
- HttpResponse, 서버 응답을 반환합니다.
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
2HttpResponse HttpClient.get(String url,
Object opts = {}) async;
호출 매개변수:
결과 반환:
- HttpResponse, 서버 응답을 반환합니다.
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
2HttpResponse HttpClient.post(String url,
Object opts = {}) async;
호출 매개변수:
결과 반환:
- HttpResponse, 서버 응답을 반환합니다.
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
2HttpResponse HttpClient.del(String url,
Object opts = {}) async;
호출 매개변수:
결과 반환:
- HttpResponse, 서버 응답을 반환합니다.
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
2HttpResponse HttpClient.put(String url,
Object opts = {}) async;
호출 매개변수:
결과 반환:
- HttpResponse, 서버 응답을 반환합니다.
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
2HttpResponse HttpClient.patch(String url,
Object opts = {}) async;
호출 매개변수:
결과 반환:
- HttpResponse, 서버 응답을 반환합니다.
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
HEAD 메소드를 사용하여 지정된 요청url, request("PATCH", ...)와 동일한 결과를 반환합니다.
1
2HttpResponse HttpClient.head(String url,
Object opts = {}) async;
호출 매개변수:
결과 반환:
- HttpResponse, 서버 응답을 반환합니다.
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]"를 반환하며 객체 자체의 특성에 따라 다시 구현될 수 있습니다.
1String HttpClient.toString();
결과 반환:
- String, 객체의 문자열 표현을 반환합니다.
toJSON
객체의 JSON 형식 표현을 반환하며 일반적으로 객체에 의해 정의된 읽을 수 있는 속성 컬렉션을 반환합니다.
1Value HttpClient.toJSON(String key = "");
호출 매개변수:
- key: 문자열, 사용되지 않음
결과 반환:
- Value, 직렬화 가능한 JSON을 포함하는 값을 반환합니다.