Базовый модуль модуля

модуль http

Модуль протокола передачи гипертекста для поддержки обработки протокола http, псевдоним модуля: https

объект

Request

Создайте объект http-запроса, см.HttpRequest

1
HttpRequest http.Request;

Response

Создайте объект ответа http, см.HttpResponse

1
HttpResponse http.Response;

Создайте объект cookie http, см.HttpCookie

1
HttpCookie http.Cookie;

Server

Создайте http-сервер, см.HttpServer

1
HttpServer http.Server;

Client

Создайте http-клиент, см.HttpClient

1
HttpClient http.Client;

HttpsServer

Создайте сервер https, см.HttpsServer

1
HttpsServer http.HttpsServer;

Handler

Создайте объект обработчика протокола http, см.HttpHandler

1
HttpHandler http.Handler;

Repeater

Создайте объект обработчика пересылки HTTP-запросов, см.HttpRepeater

1
HttpRepeater http.Repeater;

статическая функция

fileHandler

Создайте обработчик статических файлов http, чтобы отвечать на сообщения http статическими файлами.

1 2 3
static Handler http.fileHandler(String root, Object mimes = {}, Boolean autoIndex = false);

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

  • root: Строка, путь к корневому файлу
  • mimes: Объект, расширенные настройки mime
  • autoIndex: логическое значение, поддерживает ли просмотр файлов каталогов, по умолчанию — false, не поддерживается.

Возвращаемый результат:

  • Handler, возвращает обработчик статических файлов для обработки http-сообщений

fileHandler поддерживает предварительное сжатие gzip.Когда запрос принимает кодировку gzip и файл filename.ext.gz существует по тому же пути, он напрямую возвращает этот файл, что позволяет избежать нагрузки на сервер, вызванной повторным сжатием.


setClientCert

Установить сертификат клиента по умолчанию

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

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

  • crt:X509Cert, сертификат для отправки на сервер для аутентификации клиента
  • key:PKey, закрытый ключ, используемый для связи с клиентом

request

Отправить HTTP-запрос к указанному объекту потока и вернуть результат

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

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

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

Возвращаемый результат:

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

Отправить HTTP-запрос к указанному объекту потока и вернуть результат

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

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

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

Возвращаемый результат:

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

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

1 2 3
static HttpResponse http.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
{ "method": "GET", //指定 http 请求方法:GET, POST 等 "query": {}, "body": SeekableStream | Buffer | String | {}, "json": {}, "pack": {}, "headers": {}, "response_body": SeekableStream //指定接受 resposne 数据的流 }

где тело,json, пакет не должен появляться одновременно. По умолчанию {}, не содержит никакой дополнительной информации.


get

Используйте метод GET для запроса указанногоurl, и вернуть результат, эквивалентный request("GET", ...)

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

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

  • url: Строка, указаннаяurl, должен быть полнымurl
  • opts: Объект, укажите дополнительную информацию

Возвращаемый результат:

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

opts содержит дополнительные параметры запроса, поддерживаемые из них следующие:

1 2 3 4 5 6 7 8
{ "method": "GET", //指定 http 请求方法:GET, POST 等 "query": {}, "body": SeekableStream | Buffer | String | {}, "json": {}, "pack": {}, "headers": {} }

где тело,json, пакет не должен появляться одновременно. По умолчанию {}, не содержит никакой дополнительной информации.


post

использовать метод POST для запроса указанногоurl, и вернуть результат, эквивалентный request("POST",...)

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

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

  • url: Строка, указаннаяurl, должен быть полнымurl
  • opts: Объект, укажите дополнительную информацию

Возвращаемый результат:

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

opts содержит дополнительные параметры запроса, поддерживаемые из них следующие:

1 2 3 4 5 6 7 8
{ "method": "GET", //指定 http 请求方法:GET, POST 等 "query": {}, "body": SeekableStream | Buffer | String | {}, "json": {}, "pack": {}, "headers": {} }

где тело,json, пакет не должен появляться одновременно. По умолчанию {}, не содержит никакой дополнительной информации.


del

Используйте метод DELETE для запроса указанногоurl, и вернуть результат, эквивалентный request("DELETE", ...)

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

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

  • url: Строка, указаннаяurl, должен быть полнымurl
  • opts: Объект, укажите дополнительную информацию

Возвращаемый результат:

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

opts содержит дополнительные параметры запроса, поддерживаемые из них следующие:

1 2 3 4 5 6 7 8
{ "method": "GET", //指定 http 请求方法:GET, POST 等 "query": {}, "body": SeekableStream | Buffer | String | {}, "json": {}, "pack": {}, "headers": {} }

где тело,json, пакет не должен появляться одновременно. По умолчанию {}, не содержит никакой дополнительной информации.


put

Используйте метод PUT для запроса указанногоurl, и вернуть результат, эквивалентный request("PUT",...)

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

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

  • url: Строка, указаннаяurl, должен быть полнымurl
  • opts: Объект, укажите дополнительную информацию

Возвращаемый результат:

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

opts содержит дополнительные параметры запроса, поддерживаемые из них следующие:

1 2 3 4 5 6 7 8
{ "method": "GET", //指定 http 请求方法:GET, POST 等 "query": {}, "body": SeekableStream | Buffer | String | {}, "json": {}, "pack": {}, "headers": {} }

где тело,json, пакет не должен появляться одновременно. По умолчанию {}, не содержит никакой дополнительной информации.


patch

Используйте метод PATCH для запроса указанногоurl, и вернуть результат, эквивалентный request("PATCH", ...)

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

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

  • url: Строка, указаннаяurl, должен быть полнымurl
  • opts: Объект, укажите дополнительную информацию

Возвращаемый результат:

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

opts содержит дополнительные параметры запроса, поддерживаемые из них следующие:

1 2 3 4 5 6 7 8
{ "method": "GET", //指定 http 请求方法:GET, POST 等 "query": {}, "body": SeekableStream | Buffer | String | {}, "json": {}, "pack": {}, "headers": {} }

где тело,json, пакет не должен появляться одновременно. По умолчанию {}, не содержит никакой дополнительной информации.


Запросить указанное с помощью метода HEADurl, и вернуть результат, эквивалентный request("HEAD", ...)

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

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

  • url: Строка, указаннаяurl, должен быть полнымurl
  • opts: Объект, укажите дополнительную информацию

Возвращаемый результат:

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

opts содержит дополнительные параметры запроса, поддерживаемые из них следующие:

1 2 3 4 5 6 7 8
{ "method": "GET", //指定 http 请求方法:GET, POST 等 "query": {}, "body": SeekableStream | Buffer | String | {}, "json": {}, "pack": {}, "headers": {} }

где тело,json, пакет не должен появляться одновременно. По умолчанию {}, не содержит никакой дополнительной информации.

статические свойства

STATUS_CODES

Array возвращает набор стандартных кодов состояния ответа HTTP вместе с кратким описанием каждого из них.

1
static readonly Array http.STATUS_CODES;

cookies

NArray, возвращает HTTP-клиентHttpCookieсписок объектов

1
static readonly NArray http.cookies;

timeout

Целое число, запрос и установка времени ожидания

1
static Integer http.timeout;

enableCookie

Булево значение, переключение функции cookie, включено по умолчанию

1
static Boolean http.enableCookie;

autoRedirect

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

1
static Boolean http.autoRedirect;

enableEncoding

Булево значение, автоматическое переключение функции декомпрессии, включено по умолчанию

1
static Boolean http.enableEncoding;

maxBodySize

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

1
static Integer http.maxBodySize;

userAgent

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

1
static String http.userAgent;

poolSize

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

1
static Integer http.poolSize;

poolTimeout

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

1
static Integer http.poolTimeout;

proxyAgent

Строка, запрос и установка прокси-сервера, поддержка прокси-сервера http/https/socks5

1
static String http.proxyAgent;