Dart:
Een HTTP-verzoek sturen met basisauthenticatie
Hoe:
In Dart kun je het http
pakket gebruiken om HTTP-verzoeken met basale authenticatie te verzenden. Voeg eerst het http
pakket toe aan je pubspec.yaml
bestand:
dependencies:
http: ^0.13.4
Importeer vervolgens het pakket in je Dart-bestand:
import 'package:http/http.dart' as http;
import 'dart:convert';
Om een GET-verzoek met basale authenticatie te verzenden, kun je de volgende code gebruiken:
Future<void> fetchUserData() async {
final username = 'jouwGebruikersnaam';
final password = 'jouwWachtwoord';
final credentials = base64Encode(utf8.encode('$username:$password'));
final response = await http.get(
Uri.parse('https://jouwapi.com/userdata'),
headers: {
'Authorization': 'Basic $credentials',
},
);
if (response.statusCode == 200) {
print('Gebruikersgegevens succesvol opgehaald!');
print('Responstekst: ${response.body}');
} else {
print('Ophalen van gebruikersgegevens mislukt met statuscode: ${response.statusCode}');
}
}
Deze code verstuurt een GET-verzoek naar ‘https://jouwapi.com/userdata' met een basale authenticatieheader. De gebruikersnaam en het wachtwoord worden in base64 gecodeerd en doorgegeven in de ‘Authorization’-header volgens de normen voor basale toegangsauthenticatie.
Voorbeelduitvoer:
Bij een succesvol verzoek en als de server een statuscode van 200 retourneert, kun je zien:
Gebruikersgegevens succesvol opgehaald!
Responstekst: {"id":1, "name":"John Doe", "email":"[email protected]"}
Als de authenticatie faalt of er een andere fout optreedt, zal de responsstatuscode helpen bij het identificeren van het probleem.