用.net獲取重定向之後的地址
阿新 • • 發佈:2019-01-23
Response.redirect 重定向就是向客戶端的瀏覽器傳送一個特殊的HTTP報頭:
HTTP/1.1 302 Object Moved
Location http://redirecturl
瀏覽器讀到此報頭,就按Location值的指示載入頁面.所以,獲取重定向後的URL也就是獲取HTTP頭的Location值.
c#版
vb.net版
HTTP/1.1 302 Object Moved
Location http://redirecturl
瀏覽器讀到此報頭,就按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值