我使用 System.Net.Http 中的 HttpClient 向 Web 服务发出请求,如下所示:
using (var client = new HttpClient())
{
using (var response = client.GetAsync(url).Result)
{
var result = response.Content.ReadAsStringAsync().Result;
}
}
我有一个沙盒应用程序和一个实时应用程序。沙盒应用程序具有相同的代码(在共享存储库中),可以正常工作,但是当client.GetAsync(url).Result
在实时应用程序中调用时,由于某种原因,Fiddler 向我显示请求的 URL 已被编码,这会弄乱请求。
请求的 URL 应该如下所示:
/advert?paginate=1&page=1&language=en&filters[updated_at][ge]=2016-03-21%2012:19:05
但最终看起来像这样:
/advert?paginate=1&page=1&language=en&filters%5Bupdated_at%5D%5Bge%5D=2016-03-21%2012:19:05
知道为什么吗?谢谢
注意我在 .NET Framework 4.5 中使用来自 Nuget 的 Microsoft.Net.Http 库