如何在请求后将重定向的url作为字符串

时间:2011-11-29 20:21:34

标签: .net http webrequest webresponse

例如,在任何tinyurl / ajdeijad链接上(这个是假的),think重定向到另一个url

这是我的代码:

    Dim request1 As HttpWebRequest = DirectCast(HttpWebRequest.Create(urlvimeohd), HttpWebRequest)
            request1.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.112 Safari/535.1"
            request1.MaximumAutomaticRedirections = 1
            request1.AllowAutoRedirect = True

如何检索响应的网址(重定向!)

3 个答案:

答案 0 :(得分:0)

我知道找到重定向到哪个网址的唯一方法是发出请求并阅读回复。

request1.GetResponse().Headers("Location")

仅供参考:你应该看看Fiddler。它是一个免费的应用程序,可以让您直观地检查浏览器发出的请求和响应。您可以将您拥有的链接粘贴到浏览器中,并查看服务器所说的内容。然后你就会知道检查哪个Header以获得你想要的信息。

希望有所帮助。

答案 1 :(得分:0)

简单 - 只需获得响应的响应!

http://msdn.microsoft.com/en-us/library/system.net.webresponse.responseuri.aspx

dim myresponse as request1.getresponse()
dim x as string = myresponse.ResponseURI

答案 2 :(得分:0)

试试这个,

Dim req As HttpWebRequest = DirectCast(HttpWebRequest.Create("http://tinyurl/ajdeijad"), HttpWebRequest)
Dim response As HttpWebResponse
Dim resUri As String
response = req.GetResponse
resUri = response.ResponseUri.AbsoluteUri
MsgBox(resUri)

这将返回重定向的URL。