Получить URL-адрес http-запроса в приложении флаттера - PullRequest
0 голосов
/ 22 февраля 2019

Я пытаюсь получить URL-адрес следующего запроса на получение;

String url = ['url_here'];
Future<Post> fetchPost() async {
final response = await http.get(url);

if (response.statusCode == 200) {
return Post.fromJson(json.decode(response.body));
} else {
throw Exception('Failed to load post');
}
}

Я получаю код состояния 200.

Есть идеи?

Чтобы уточнить,Когда вы вводите URL в браузере, он выводит меня на страницу с URL, на котором есть код.Я пытаюсь извлечь этот код.

1 Ответ

0 голосов
/ 22 февраля 2019

followRedirects по умолчанию true, и я не нашел способа получить URL-адрес, по которому он перенаправляется таким образом.

Настройка followRedirects = false возвращает новый адрес в заголовке location.

  final url = 'http://wikipedia.net';
  final client = http.Client();
  final request = new http.Request('GET', Uri.parse(url))
    ..followRedirects = false;
  final response = await client.send(request);

  print(response.headers['location']);
  print(response.statusCode);

Если вы хотите получить содержимое адреса перенаправления, вы можете отправить новый запрос с URL-адресом location или просто по умолчанию (followRedirects = true)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...