Отправка HTTP-запроса с базовой аутентификацией

Dart:
Отправка HTTP-запроса с базовой аутентификацией

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

В Dart вы можете использовать пакет http для отправки HTTP-запросов с базовой аутентификацией. Сначала добавьте пакет http в файл pubspec.yaml:

dependencies:
  http: ^0.13.4

Затем импортируйте пакет в ваш Dart файл:

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

Чтобы отправить GET-запрос с базовой аутентификацией, вы можете использовать следующий код:

Future<void> fetchUserData() async {
  final username = 'yourUsername';
  final password = 'yourPassword';
  final credentials = base64Encode(utf8.encode('$username:$password'));
  final response = await http.get(
    Uri.parse('https://yourapi.com/userdata'),
    headers: {
      'Authorization': 'Basic $credentials',
    },
  );

  if (response.statusCode == 200) {
    print('Данные пользователя получены успешно!');
    print('Тело ответа: ${response.body}');
  } else {
    print('Не удалось получить данные пользователя с кодом статуса: ${response.statusCode}');
  }
}

Этот код отправляет GET-запрос на ‘https://yourapi.com/userdata' с заголовком базовой аутентификации. Имя пользователя и пароль кодируются в base64 и передаются в заголовке ‘Authorization’ в соответствии со стандартами базовой аутентификации.

Пример вывода:

При успешном запросе и если сервер возвращает код состояния 200, вы можете увидеть:

Данные пользователя получены успешно!
Тело ответа: {"id":1, "name":"John Doe", "email":"[email protected]"}

Если аутентификация не удастся или возникнет какая-либо другая ошибка, код состояния ответа поможет определить проблему.