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