РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
632 of 723 menu

Класс HttpClientRequest

Класс HttpClientRequest представляет собой HTTP-запрос, создаваемый классом HttpClient. Он позволяет настроить заголовки, метод запроса, тело запроса и другие параметры перед отправкой на сервер. После настройки запрос отправляется с помощью метода close, который возвращает объект HttpClientResponse с ответом сервера.

Объект HttpClientRequest нельзя создать напрямую через конструктор. Вместо этого его получают через методы getUrl, postUrl, openUrl и другие методы класса HttpClient. Каждый из этих методов принимает первым параметром метод HTTP-запроса (например, 'GET' или 'POST'), а вторым - объект Uri с адресом запроса.

Синтаксис

HttpClientRequest request = await httpClient.getUrl(uri); HttpClientRequest request = await httpClient.postUrl(uri); HttpClientRequest request = await httpClient.openUrl(method, uri);

Свойства

Класс HttpClientRequest имеет следующие основные свойства:

headers - объект HttpHeaders для управления заголовками запроса;

method - строка с методом HTTP-запроса (например, 'GET' или 'POST');

uri - объект Uri с адресом запроса;

contentLength - длина тела запроса в байтах;

persistentConnection - логическое значение, указывающее на использование постоянного соединения.

Методы

Класс HttpClientRequest имеет следующие основные методы:

write - записывает строку в тело запроса;

add - добавляет список байтов в тело запроса;

close - завершает запрос и возвращает Future с объектом HttpClientResponse.

Пример

Давайте создадим GET-запрос и получим ответ от сервера:

import 'dart:io'; void main() async { HttpClient httpClient = HttpClient(); Uri uri = Uri.parse('http://example.com'); HttpClientRequest request = await httpClient.getUrl(uri); HttpClientResponse response = await request.close(); print(response.statusCode); httpClient.close(); }

Результат выполнения кода:

200

Пример

Давайте создадим POST-запрос и отправим данные на сервер:

import 'dart:io'; void main() async { HttpClient httpClient = HttpClient(); Uri uri = Uri.parse('http://example.com'); HttpClientRequest request = await httpClient.postUrl(uri); request.headers.contentType = ContentType.json; request.write('{"key": "value"}'); HttpClientResponse response = await request.close(); print(response.statusCode); httpClient.close(); }

Результат выполнения кода:

200

Пример

Давайте установим пользовательский заголовок в запросе:

import 'dart:io'; void main() async { HttpClient httpClient = HttpClient(); Uri uri = Uri.parse('http://example.com'); HttpClientRequest request = await httpClient.getUrl(uri); request.headers.set('X-Custom-Header', 'abcde'); HttpClientResponse response = await request.close(); print(request.headers.value('X-Custom-Header')); httpClient.close(); }

Результат выполнения кода:

"abcde"

Смотрите также

  • класс HttpClient,
    который создает HTTP-запросы
  • метод getUrl,
    который создает GET-запрос
  • метод postUrl,
    который создает POST-запрос
  • класс HttpClientResponse,
    который представляет ответ сервера
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить