Загрузка веб-страницы

Dart:
Загрузка веб-страницы

Как это сделать:

Dart предоставляет пакет http, популярную стороннюю библиотеку для выполнения HTTP-запросов. Вот базовый пример использования этого пакета для скачивания веб-страницы:

Сначала добавьте пакет http в файл pubspec.yaml:

dependencies:
  http: ^0.13.3

Затем импортируйте пакет и используйте его для получения содержимого веб-страницы:

import 'package:http/http.dart' as http;

Future<void> main() async {
  var url = Uri.parse('http://example.com');
  var response = await http.get(url);
  if (response.statusCode == 200) {
    print('Страница загружена:');
    print(response.body);
  } else {
    print('Запрос не выполнен со статусом: ${response.statusCode}.');
  }
}

Пример вывода (это будет меняться в зависимости от содержимого веб-страницы):

Страница загружена:
<!doctype html>
<html>
<head>
    <title>Example Domain</title>
...
</html>

Для более сложных сценариев, таких как управление куки или установка пользовательских заголовков, вы бы использовали тот же пакет http, но с дополнительными настройками вашего запроса:

import 'package:http/http.dart' as http;

Future<void> main() async {
  var headers = {
    'User-Agent': 'YourCustomUserAgent/1.0',
    'Cookie': 'name=value; name2=value2',
  };
  var url = Uri.parse('http://example.com');
  var response = await http.get(url, headers: headers);

  if (response.statusCode == 200) {
    print('Страница загружена с пользовательскими заголовками:');
    print(response.body);
  } else {
    print('Запрос не выполнен со статусом: ${response.statusCode}.');
  }
}

Использование таких заголовков может более точно имитировать запросы браузера, что особенно полезно при работе с сайтами, имеющими конкретные требования или защиту от скрейпинга.