HtmlAgilityPack - 如何在重定向后获取 url 路径

HtmlAgilityPack - How to get url path after redirect

我正在尝试在重定向后获取 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。谢谢

通过将 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