【问题标题】:HttpClient GetAsync response content is different from what Fiddler is giving meHttpClient GetAsync 响应内容与 Fiddler 给我的不同
【发布时间】: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


【解决方案1】:

我发现了它是什么。

事实证明,在调试过程中,如果字符串太长,文本可视化器实际上会截断部分字符串。所以,我需要的东西确实在那里,但是当我复制和粘贴时,文本可视化器没有给我。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-20
    • 1970-01-01
    • 2016-04-20
    • 2013-11-03
    相关资源
    最近更新 更多