Response.redirect 重定向就是向客户端的浏览器发送一个特殊的HTTP报头:
HTTP/1.1
302
Object
Moved
Location
http://redirecturl
浏览器读到此报头,就按Location值的指示载入页面.所以,获取重定向后的URL也就是获取HTTP头的Location值.
c#版
vb.net版
HTTP/1.1
Location
浏览器读到此报头,就按Location值的指示载入页面.所以,获取重定向后的URL也就是获取HTTP头的Location值.
c#版
using System.Net;
HttpWebRequest myHttpWebRequest = (HttpWebRequest)HttpWebRequest.Create("http://tuangai.com/group/40926.html");
myHttpWebRequest.AllowAutoRedirect = false;
HttpWebResponse myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse();
MessageBox.Show(myHttpWebResponse.Headers.Get("Location"));
vb.net版
'创建一个HttpWebRequest对象
Dim myHttpWebRequest As HttpWebRequest = HttpWebRequest.Create(sRedirectUrl)
'禁止自动响应重定向
myHttpWebRequest.AllowAutoRedirect = False
'创建一个HttpWebResponse对象
Dim myHttpWebResponse As HttpWebResponse = myHttpWebRequest.GetResponse() '同步方式获取
'获得重定向地址
MessageBox.Show(myHttpWebResponse.Headers("Location")) '获取HTTP报头的Location值