【发布时间】:2019-11-22 18:22:26
【问题描述】:
我目前正在试验 Flutter 并尝试使用 http 包。当我请求需要授权标头(授权:基本)的资源时,我按如下方式创建请求:
import 'package:http/http.dart' as http;
void request() {
http.get('http://<my_url>', headers: {'Authorization': 'Basic <hash>'}).then( (resp) {
print('response status: ${resp.statusCode} ${resp.reasonPhrase}');
}
}
在执行此请求时,我正在查看通过 Wireshark 发送的请求,并注意到它在末尾包含回车符 (\r) 和换行符 (\n): Snapshot of Wireshark
调用我的请求函数后,我在打印语句中收到 401 Unauthorized 消息。当我在 Postman 中调用相同的请求时,一切都很好。
我假设我的身份验证失败,因为每个标题条目末尾的这些字符 (\r\n)。任何人都可以帮助我还是我做错了什么?
PS.:我也尝试过 http_auth 包,但也失败了。
import 'package:http_auth/http_auth.dart' as http_auth;
void request(String user, String password) {
http_auth.BasicAuthClient(user, password).get('http://<my_url>', headers: {'Authorization': 'Basic <hash>'}).then( (resp) {
print('response status: ${resp.statusCode} ${resp.reasonPhrase}');
}
}
【问题讨论】:
标签: flutter http-headers flutter-dependencies