Встроенный объект объекта

ОбъектHttpClient

HttpClient — это библиотека классов, предназначенная для функций HTTP-клиента, обеспечивающая базовые запросы HTTP/HTTPS, доступ к прокси-серверу, управление файлами cookie и другие функции.

Вы можете легко получать доступ к веб-страницам и управлять ими с помощью HttpClient. Вот простой пример — распечатка исходного кода на веб-странице:

1 2 3 4 5
const 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 5
const 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 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

НАррай, возвратhttpклиентHttpCookieсписок объектов

1
readonly NArray HttpClient.cookies;

timeout

Целое число, запрос и установка единицы тайм-аута в миллисекундах

1
Integer HttpClient.timeout;

enableCookie

Логическое значение, переключатель функции cookie, включен по умолчанию

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

Целое число, запросите и установите максимальный размер тела в МБ, значение по умолчанию - -1, ограничений по размеру нет.

1
Integer HttpClient.maxBodySize;

userAgent

Строка, запрос и наборhttpИдентификатор браузера в запросе

1
String HttpClient.userAgent;

poolSize

Целое число, запросите и установите максимальное количество подключений к кэшу, поддерживающему активность, по умолчанию 128.

1
Integer HttpClient.poolSize;

poolTimeout

Целое число, запрос и установка тайм-аута подключения к кэшу поддержания активности, по умолчанию 10 000 мс.

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;

Параметры звонка:

  • conn:Stream, указывает объект потока для обработки запроса
  • req:HttpRequest, для отправкиHttpRequestобъект

Результаты возврата:

  • HttpResponse, возвращает ответ сервера

отправлятьhttpЗапросить указанный объект потока и вернуть результат

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

Параметры звонка:

  • conn:Stream, указывает объект потока для обработки запроса
  • req:HttpRequest, для отправкиHttpRequestобъект
  • response_body:SeekableStream, укажите поток ответа.body

Результаты возврата:

  • HttpResponse, возвращает ответ сервера

запрос указанurlи верните результат

1 2 3
HttpResponse 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 2
HttpResponse 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и верните результат

1
HttpResponse 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 2
HttpResponse 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 2
HttpResponse 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 2
HttpResponse 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 2
HttpResponse 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 2
HttpResponse 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 для запроса указанногоurlи возвращает результат, эквивалентный запросу("PATCH", ...)

1 2
HttpResponse 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]». Объект может быть повторно реализован в соответствии с его собственными характеристиками.

1
String HttpClient.toString();

Результаты возврата:

  • String, возвращает строковое представление объекта

toJSON

Возвращает представление объекта в формате JSON, обычно возвращая коллекцию читаемых свойств, определенных объектом.

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

Параметры звонка:

  • key: Строка, не используется.

Результаты возврата:

  • Value, возвращает значение, содержащее сериализуемый JSON