我如何用HttpClient类模仿WebBrowser?

时间:2019-04-24 19:57:09

标签: c# wpf webbrowser-control dotnet-httpclient

我之前在网站上工作时发现一些有趣的事情, 当我使用WebBrowser(Chrome)进入网站时,它说我的WordPress仪表板页面上有1位用户在线,这很有意义。然后,我关闭了Web浏览器,并使用WPF中的Web浏览器控件导航到我的网站,很明显它说的是同样的话。

然后我尝试发出这样的获取请求。

    var handler = new HttpClientHandler()
    {
        AllowAutoRedirect = true
    };

    HttpClient client = new HttpClient(handler);
    client.DefaultRequestHeaders.Add("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
    client.DefaultRequestHeaders.Add("Accept-Encoding", "gzip, deflate, br");
    client.DefaultRequestHeaders.Add("Accept-Language", "en-US");
    client.DefaultRequestHeaders.Add("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/17.17134");
    var k = await client.GetAsync("https://website.com");

但是当我这样做时,它没有反应,所以我的问题是.. 我如何模仿WebBrowser为实现同一目标所做的基本工作。

我使用Fiddler来查看发生的情况,当我使用浏览器将网站Tunnels连到某个google-analytics.com页面时,看起来好像没有更多信息。

我认为AllowAutoRedirect = true会这样做,但我猜不是。

0 个答案:

没有答案