如何通过以下方法获得basic auth request
分对httpbin.org/basic-auth分
-
http.get()
件作品 -
http.Request()
失败
带着dart .这是my dartpad-demo-code
什么在起作用?
使用get()
终于奏效了
import 'dart:convert' as convert;
import 'package:http/http.dart' as http;
void main(List<String> arguments) async {
final url_httpbin = Uri.https('httpbin.org', '/basic-auth/myuser/mypasswd');
var base64Encoder = convert.Base64Encoder();
var creds64 = base64Encoder.convert('myuser:mypasswd'.codeUnits);
Map<String, String> authHeader = {'Authorization':'Basic $creds64'};
final response = await http.get(url_httpbin,
headers: authHeader); // sending headers with basic auth
if (response.statusCode == 200) {
final jsonResponse = convert.jsonDecode(response.body);
print('Repsonse $jsonResponse');
} else {
print('Request failed with status: ${response.statusCode}.');
}
}
Question How can Request
be used
我try 使用Request()
类失败了
var request = http.Request('GET', url_httpbin);
request.headers(authHeader); // <-- error
最后一行返回
Error compiling to JavaScript: lib/main.dart:23:18: Error: 'headers' isn't a function or method and can't be invoked.
request.headers(authHeader); ^^^^^^^ Error: Compilation failed.
或者这个
request.headers = authHeader; // error
结果是
编译为JavaScript时出错:lib/main.dart:23:11:Error:the setter 没有为类"Request."定义"Headers".
- ‘Request.Dart’来自‘Package:http/src/quest.dart’(‘/app/local_pub_cache/hosted/pub.dev/http-1.1.0/lib/src/request.dart’). Quest.Headers=authHeader; ^错误:编译失败.
从Request class documentation开始,我不清楚如何使用这个类来发出http请求.