Spec-Zone.ru › Dart 2

dart:io

Свойство followRedirects

bool followRedirects
чтение / запись

Определяет, следует ли автоматически перенаправлению.

Установите это свойство в false если данный запрос не должен автоматически перенаправляться. По умолчанию значение true.

Автоматическое перенаправление произойдёт только для запросов типа "GET" и "HEAD", и только для кодов состояния HttpStatus.movedPermanently (301), HttpStatus.found (302), HttpStatus.movedTemporarily (302, псевдоним для HttpStatus.found), HttpStatus.seeOther (303), HttpStatus.temporaryRedirect (307) и HttpStatus.permanentRedirect (308). Для HttpStatus.seeOther (303) автоматическое перенаправление также произойдет для запросов "POST" с изменением метода на "GET" при перенаправлении.

Все заголовки, добавленные к запросу, будут добавлены к запросу(ам) перенаправления, за исключением чувствительных заголовков, таких как "Authorization", "WWW-Authenticate" и "Cookie". Эти заголовки будут пропущены, если перенаправление происходит на домен, который не является поддоменом или точным совпадением начального домена. Например, перенаправление с "foo.com" на "foo.com" или "sub.foo.com" передаст чувствительные заголовки, но перенаправление на "bar.com" — нет.

Любое тело, отправленное с запросом, не будет частью запроса(ов) перенаправления.

Для точного управления обработкой перенаправлений установите это свойство в false и выполните отдельный HTTP-запрос для обработки перенаправления. Например:

final client = HttpClient();
var uri = Uri.parse("http://localhost/");
var request = await client.getUrl(uri);
request.followRedirects = false;
var response = await request.close();
while (response.isRedirect) {
  response.drain();
  final location = response.headers.value(HttpHeaders.locationHeader);
  if (location != null) {
    uri = uri.resolve(location);
    request = await client.getUrl(uri);
    // Set the body or headers as desired.
    request.followRedirects = false;
    response = await request.close();
  }
}
// Do something with the final response.

Реализация

bool followRedirects = true;

© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.18.5/dart-io/HttpClientRequest/followRedirects.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API