Как имитировать WebBrowser с классом HttpClient? - PullRequest
0 голосов
/ 24 апреля 2019

Я заметил кое-что интересное, когда работал над своим сайтом ранее, когда я был на веб-сайте, используя мой WebBrowser (Chrome), он сказал, что 1 пользователь был онлайн на странице в моей панели управления WordPress, что имеет смысл. Затем я закрыл веб-браузер и перешел на свой веб-сайт с помощью элемента управления веб-браузера в WPF, и, очевидно, он сказал то же самое.

Затем я попытался сделать запрос get следующим образом.

    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, но, наверное, нет.

...