ОбъектHttpClient
HttpClient — это библиотека классов, предназначенная для функций HTTP-клиента, обеспечивающая базовые запросы HTTP/HTTPS, доступ к прокси-серверу, управление файлами cookie и другие функции.
Вы можете легко получать доступ к веб-страницам и управлять ими с помощью HttpClient. Вот простой пример — распечатка исходного кода на веб-странице:
1
2
3
4
5const http = require('http');
const res = http.get('http://www.example.com/');
console.log(res.body.readAll().toString());
В этом примере, введенном через requirehttpмодуль, а затем использоватьhttp.getИнициировать запрос на получение, гдеurlПараметр указывает запрошенный URL-адрес. потому чтоhttp.getМетод возвращаетHttpResponseObject, поэтому вы можете получить доступ к содержимому тела, возвращаемому запросом, через его свойство body и преобразовать его в строку с помощью метода toString.
по запросуurlЭто тип https вместоhttpтипа, код нужно только изменитьhttpПросто измените его на https:
1
2
3
4
5const http = require('http');
const res = http.get('https://www.example.com/');
console.log(res.body.readAll().toString());
Кроме того, есть примеры прямой инициации POST-запросов и настройки User-Agent через HttpClient:
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
НАррай, возвратhttpклиентHttpCookieсписок объектов
1readonly NArray HttpClient.cookies;
timeout
Целое число, запрос и установка единицы тайм-аута в миллисекундах
1Integer HttpClient.timeout;
enableCookie
Логическое значение, переключатель функции cookie, включен по умолчанию
1Boolean HttpClient.enableCookie;
autoRedirect
Логическое значение, переключатель функции автоматического перенаправления, включен по умолчанию
1Boolean HttpClient.autoRedirect;
enableEncoding
Логическое значение, переключатель функции автоматической декомпрессии, включено по умолчанию.
1Boolean HttpClient.enableEncoding;
maxHeadersCount
Целое число, запросите и установите максимальное количество заголовков запроса, значение по умолчанию — 128.
1Integer HttpClient.maxHeadersCount;
maxHeaderSize
Целое число, запросите и установите максимальную длину заголовка запроса, значение по умолчанию — 8192.
1Integer HttpClient.maxHeaderSize;
maxBodySize
Целое число, запросите и установите максимальный размер тела в МБ, значение по умолчанию - -1, ограничений по размеру нет.
1Integer HttpClient.maxBodySize;
userAgent
Строка, запрос и наборhttpИдентификатор браузера в запросе
1String HttpClient.userAgent;
poolSize
Целое число, запросите и установите максимальное количество подключений к кэшу, поддерживающему активность, по умолчанию 128.
1Integer HttpClient.poolSize;
poolTimeout
Целое число, запрос и установка тайм-аута подключения к кэшу поддержания активности, по умолчанию 10 000 мс.
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);
Параметры звонка:
- crt:X509Cert, сертификат, используемый для отправки на сервер для проверки клиента
- key:PKey, закрытый ключ, используется для разговора с клиентом
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, укажите поток ответа.body
Результаты возврата:
- HttpResponse, возвращает ответ сервера
запрос указанurlи верните результат
1
2
3HttpResponse HttpClient.request(String method,
String url,
Object opts = {}) async;
Параметры звонка:
- method: Строка, укажитеhttpМетод запроса: GET, POST и т. д.
- url: Строка, укажитеurl, должен быть полным содержащим хостомurl
- opts: Объект, укажите дополнительную информацию
Результаты возврата:
- 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и возвращает результат, который эквивалентен запросу("GET", ...)
1
2HttpResponse HttpClient.request(String url,
Object opts = {}) async;
Параметры звонка:
- url: Строка, укажитеurl, должен быть полным содержащим хостомurl
- 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, пакет не должен появляться одновременно. По умолчанию используется {}, которое не содержит никакой дополнительной информации.
Указаны параметры запроса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и возвращает результат, который эквивалентен запросу("GET", ...)
1
2HttpResponse HttpClient.get(String url,
Object opts = {}) async;
Параметры звонка:
- url: Строка, укажитеurl, должен быть полным содержащим хостомurl
- 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, пакет не должен появляться одновременно. По умолчанию используется {}, которое не содержит никакой дополнительной информации.
post
Используйте метод POST для запроса указанногоurlи возвращает результат, эквивалентный запросу("POST", ...)
1
2HttpResponse HttpClient.post(String url,
Object opts = {}) async;
Параметры звонка:
- url: Строка, укажитеurl, должен быть полным содержащим хостомurl
- 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, пакет не должен появляться одновременно. По умолчанию используется {}, которое не содержит никакой дополнительной информации.
del
Используйте метод DELETE для запроса указанногоurlи возвращает результат, эквивалентный запросу("DELETE", ...)
1
2HttpResponse HttpClient.del(String url,
Object opts = {}) async;
Параметры звонка:
- url: Строка, укажитеurl, должен быть полным содержащим хостомurl
- 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, пакет не должен появляться одновременно. По умолчанию используется {}, которое не содержит никакой дополнительной информации.
put
Используйте метод PUT для запроса указанногоurlи возвращает результат, эквивалентный запросу("PUT", ...)
1
2HttpResponse HttpClient.put(String url,
Object opts = {}) async;
Параметры звонка:
- url: Строка, укажитеurl, должен быть полным содержащим хостомurl
- 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, пакет не должен появляться одновременно. По умолчанию используется {}, которое не содержит никакой дополнительной информации.
patch
Используйте метод PATCH для запроса указанногоurlи возвращает результат, эквивалентный запросу("PATCH", ...)
1
2HttpResponse HttpClient.patch(String url,
Object opts = {}) async;
Параметры звонка:
- url: Строка, укажитеurl, должен быть полным содержащим хостомurl
- 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, пакет не должен появляться одновременно. По умолчанию используется {}, которое не содержит никакой дополнительной информации.
head
Используйте метод HEAD для запроса указанногоurlи возвращает результат, эквивалентный запросу("PATCH", ...)
1
2HttpResponse HttpClient.head(String url,
Object opts = {}) async;
Параметры звонка:
- url: Строка, укажитеurl, должен быть полным содержащим хостомurl
- 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, пакет не должен появляться одновременно. По умолчанию используется {}, которое не содержит никакой дополнительной информации.
toString
Возвращает строковое представление объекта. Обычно возвращается «[Native Object]». Объект может быть повторно реализован в соответствии с его собственными характеристиками.
1String HttpClient.toString();
Результаты возврата:
- String, возвращает строковое представление объекта
toJSON
Возвращает представление объекта в формате JSON, обычно возвращая коллекцию читаемых свойств, определенных объектом.
1Value HttpClient.toJSON(String key = "");
Параметры звонка:
- key: Строка, не используется.
Результаты возврата:
- Value, возвращает значение, содержащее сериализуемый JSON