HtmlAgilityPack - Как получить путь URL после перенаправления - PullRequest
0 голосов
/ 06 апреля 2020

Я пытаюсь получить полный путь URL после его перенаправления, просто вот код:

 var documentx = new HtmlWeb().Load(textBox1.Text);

Где значение textbox1.text равно " https://xxxx.org/file/download "

так что после того, как я выполню этот код в режиме реального времени, он перенаправит и изменит структуру на:

https://xxxx.org/file/ur344333kd/45rrreew

так, как я могу получить новый путь URL? используя HtmlAgilityPack C# Winform . Спасибо

1 Ответ

0 голосов
/ 06 апреля 2020

Установив для web.CaptureRedirect значение true и запросив web.ResponseUri,

Вы можете получить URL-адрес окончательного запроса, который фактически загрузил документ:

Примечание. Я отправляю эта строка UserAgent, как и мой Chrome браузер, поскольку поведение сервера может меняться в зависимости от него.

HtmlWeb web = new HtmlWeb();

web.UserAgent = "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36";

web.CaptureRedirect = true;

HtmlDocument doc = web.Load("http://www.google.com");

Console.WriteLine("Response retrieved from: {0}", web.ResponseUri);

Вывод:

Response retrieved from: https://www.google.com/?gws_rd=ssl
...