我正在使用 Harvest API,这是一个非常标准的 Web 服务 API,我的 curl 请求运行良好,而我的 Dart HttpClient 请求却没有。这是我的 curl 请求(当然是伪装的敏感信息):
curl -H "Content-Type: application/json" \
-H "Accept: application/json" \
-u "address@domain.com:password" \
https://my_domain.harvestapp.com/account/who_am_i
更新---以下代码现在可以工作:
HttpClient client = new HttpClient();
client.addCredentials(
Uri.parse('https://my_domain.harvestapp.com/account/who_am_i'),
'realm',
new HttpClientBasicCredentials('address@domain.com', 'password')
);
client.getUrl(Uri.parse('https://my_domain.harvestapp.com/account/who_am_i'))
.then((HttpClientRequest req) {
req.headers
..add(HttpHeaders.ACCEPT, 'application/json')
..add(HttpHeaders.CONTENT_TYPE, 'application/json');
return req.close();
})
.then((HttpClientResponse res) {
print(res);
client.close();
});
}
显然,我想做的不仅仅是print
响应,但无论如何,res
对象最终都是null
,这意味着请求在某些方面失败了。有什么看起来不对劲或不对劲吗?我现在不知所措。