【发布时间】:2016-10-25 08:40:59
【问题描述】:
我正在使用 HttpClient.GetAsync 运行 GET 请求。
然后我使用 Fiddler 来捕获这个请求并查看它返回的内容:
var response = await http.GetAsync("http://app.creditsafeuk.com/CSUKLive/webpages/CompanySearch/SearchResults.aspx?SelectedCountry=UK");
response.EnsureSuccessStatusCode();
var html = await response.Content.ReadAsStringAsync();
这个请求在我的 C# 应用程序中发送,然后用 fiddler 捕获。
虽然是完全相同的请求,但是响应中的html是不同的。
Here is the HTML I'm getting from Fiddler
And this is the HTML that is being returned with the HttpClient
任何帮助将不胜感激,我似乎无法弄清楚为什么我会得到两个不同的版本,即使 Fiddler 正在捕获我的程序正在发送的相同请求。
【问题讨论】:
-
这是一个什么样的服务,它给出什么样的响应,是不是一个Rest API。我可以看到 C# 代码无法解析提琴手所做的
Javascript代码,因此存在差异。你能试试WebClient而不是HttpClient -
这是一项可以让我查询公司信息的服务。我看不出任何
JavaScript的重要性。问题是,Fiddler 给了我我需要的响应,而我的 HttpClient 没有。即使 Fiddler 正在捕获我的 HttpClient 正在获取的内容。这对我来说是零意义。 -
使用原始 HttpWebRequests 尝试过,我遇到了同样的问题。
-
我发现了不同之处。有一个名为
__VIEWSTATE的输入标签包含一长串数据,这些数据在我的程序响应中被截断,但在 Fiddler 上没有。这导致很多我不需要在那里的 HTML。
标签: c# httpclient fiddler