如何获取网站重定向目标网址(最终用户链接)
Posted
技术标签:
【中文标题】如何获取网站重定向目标网址(最终用户链接)【英文标题】:How to get website redirection target url (end-user-link) 【发布时间】:2012-04-26 15:57:26 【问题描述】:我有一个将我重定向到另一个网站的 URL。我想从 C# 中的原始 URL 获取目标 URL。有没有办法遵循这些重定向?
【问题讨论】:
你有一个 URL,你用它做什么?使用 WebRequest? 我只需要“最终用户链接”。我尝试将它加载到 webbrowser 控件,但是当我获取当前页面的位置时,它只显示第一个 url,而不是目标。 【参考方案1】:你可以使用 HttpWebRequest 类
var request = (HttpWebRequest)WebRequest.Create(someUrl);
request.AllowAutoRedirect = false;
var response = (HttpWebResponse) request.GetResponse();
if (response.StatusCode == HttpStatusCode.Found) // Found == 302
// Do something...
string newUrl = response.Headers["Location"];
另外,您可以通过设置自动跟随重定向:
request.AllowAutoRedirect = true;
request.MaximumAutomaticRedirections = 4; //number of redirections allowed
相关:How do i check for a 302 response? WebRequest
【讨论】:
response.ResponseUri.OriginalString 给我我需要的东西。 次要 nit:我更喜欢转换为(HttpWebRequest)
和 (HttpWebResponse)
,因为如果对象的类型不正确,as
将返回 null,你会得到一个 @987654327 @ 在 下一个 行。最好在包含问题的行中立即获得InvalidCastException
。以上是关于如何获取网站重定向目标网址(最终用户链接)的主要内容,如果未能解决你的问题,请参考以下文章
在Chrome中,最终使用带有正则表达式的重定向扩展程序,如何将所有facebook.com网址重定向到mbasic.facebook.com URLS