考虑以下代码,其中BaseAddress
定义了部分URI路径.
using (var handler = new HttpClientHandler())
using (var client = new HttpClient(handler))
{
client.BaseAddress = new Uri("http://something.com/api");
var response = await client.GetAsync("/resource/7");
}
我预计这将执行从GET
到http://something.com/api/resource/7
的请求.但事实并非如此.
经过一番搜索,我找到了这个问题和答案:HttpClient with BaseAddress.建议将/
放置在BaseAddress
的末尾.
using (var handler = new HttpClientHandler())
using (var client = new HttpClient(handler))
{
client.BaseAddress = new Uri("http://something.com/api/");
var response = await client.GetAsync("/resource/7");
}
它仍然不起作用.这是文件:HttpClient.BaseAddress这是怎么回事?