實際的URL如果我有這樣一個 URL www.mydomain.co.uk/shoppingC#.NET找到頁面別名
是否有可能找到購物的真正網址是什麼?
HttpWebRequest req =(HttpWebRequest)WebRequest.Create(「www.mydomain.co.uk/shopping」);
我快速查看「請求」,但看不到它?
任何人有任何想法?
實際的URL如果我有這樣一個 URL www.mydomain.co.uk/shoppingC#.NET找到頁面別名
是否有可能找到購物的真正網址是什麼?
HttpWebRequest req =(HttpWebRequest)WebRequest.Create(「www.mydomain.co.uk/shopping」);
我快速查看「請求」,但看不到它?
任何人有任何想法?
我假設你正在談論服務器的URL重寫器,在這樣的URL:
http://example.com/product/view/2
事實上由處理:如果服務器正在做內部重新路由
http://example.com/product.aspx?id=2
(例如在IIS中使用MVC路由),那麼不,這是不可能的,因爲它完全是內部的,並且實際的頁面/處理程序URL不會暴露給客戶端。
試試這個 -
Uri ourUri = new Uri(url);
WebRequest myWebRequest = WebRequest.Create(url);
WebResponse myWebResponse = myWebRequest.GetResponse();
string actualUri = myWebResponse.ResponseUri;
。如果你想獲得響應,並且也知道重定向到URI,然後使用HttpWebRequest
正常,並檢查HttpWebResponse
的ResponseUri
財產。
如果要獲取重定向到的URI而不遵循重定向,請將HttpWebRequest
的AllowAutoRedirect
設置爲false,然後檢查HttpWebResponse
的「位置」標頭。
在後一種情況下,總會有後續的重定向。如果你需要知道這一點,那麼你可能會更好地回到第一種方法(它將遵循重定向鏈)。如果你需要知道所有的重定向,你將不得不自己關注鏈。要小心限制總數以避免陷入重定向黑洞(捕獲重複數據也是一個好主意,但由於黑洞可以不存在重複地存在,所以仍然需要一個上限)。
什麼是在這種情況下的「真正的網址」?它重定向到的URL,是否重定向? – Rup 2010-09-30 15:37:10
它正在做一個301重定向,我想要了解它下面的任何東西,比如index.aspx?id = 12 – Robert 2010-09-30 15:42:26