2010-09-30 46 views
0

實際的URL如果我有這樣一個 URL www.mydomain.co.uk/shoppingC#.NET找到頁面別名

是否有可能找到購物的真正網址是什麼?

HttpWebRequest req =(HttpWebRequest)WebRequest.Create(「www.mydomain.co.uk/shopping」);

我快速查看「請求」,但看不到它?

任何人有任何想法?

+1

什麼是在這種情況下的「真正的網址」?它重定向到的URL,是否重定向? – Rup 2010-09-30 15:37:10

+0

它正在做一個301重定向,我想要了解它下面的任何東西,比如index.aspx?id = 12 – Robert 2010-09-30 15:42:26

回答

1

我假設你正在談論服務器的URL重寫器,在這樣的URL:

http://example.com/product/view/2 

事實上由處理:如果服務器正在做內部重新路由

http://example.com/product.aspx?id=2 

(例如在IIS中使用MVC路由),那麼不,這是不可能的,因爲它完全是內部的,並且實際的頁面/處理程序URL不會暴露給客戶端。

0

試試這個 -

Uri ourUri = new Uri(url);      
WebRequest myWebRequest = WebRequest.Create(url);   
WebResponse myWebResponse = myWebRequest.GetResponse();   
string actualUri = myWebResponse.ResponseUri; 
2

。如果你想獲得響應,並且也知道重定向到URI,然後使用HttpWebRequest正常,並檢查HttpWebResponseResponseUri財產。

如果要獲取重定向到的URI而不遵循重定向,請將HttpWebRequestAllowAutoRedirect設置爲false,然後檢查HttpWebResponse的「位置」標頭。

在後一種情況下,總會有後續的重定向。如果你需要知道這一點,那麼你可能會更好地回到第一種方法(它將遵循重定向鏈)。如果你需要知道所有的重定向,你將不得不自己關注鏈。要小心限制總數以避免陷入重定向黑洞(捕獲重複數據也是一個好主意,但由於黑洞可以不存在重複地存在,所以仍然需要一個上限)。