面试题答案
一键面试- 添加依赖:
在
pubspec.yaml
文件中添加http
依赖,用于发送HTTP请求:
dependencies:
http: ^0.13.4
然后运行flutter pub get
安装依赖。
- 发送带基本认证的请求:
import 'package:http/http.dart' as http;
import 'dart:convert';
import 'dart:io';
Future<void> fetchData() async {
final username = 'your_username';
final password = 'your_password';
final uri = Uri.parse('your_api_url');
// 对用户名和密码进行Base64编码
final basicAuth = 'Basic ${base64Encode(utf8.encode('$username:$password'))}';
final response = await http.get(
uri,
headers: {
HttpHeaders.authorizationHeader: basicAuth,
},
);
if (response.statusCode == 200) {
print('Success: ${response.body}');
} else {
print('Failed with status code: ${response.statusCode}');
}
}
在上述代码中:
- 定义了
username
和password
,并对其进行Base64编码生成basicAuth
字符串。 - 在
http.get
请求中,通过headers
参数设置HttpHeaders.authorizationHeader
为生成的basicAuth
字符串,从而实现HTTP基本认证。 - 根据
response.statusCode
判断请求是否成功,并处理响应数据。
调用fetchData
函数即可发送带基本认证的HTTP请求。
注意:上述代码中的your_username
、your_password
和your_api_url
需要替换为实际的值。并且,在实际应用中,建议将敏感信息(如用户名和密码)进行安全存储和管理。