我想,以確定是否對http://www.accreditedqualifications.org.uk 形式存在資格:C#檢測頁面重定向
http://www.accreditedqualifications.org.uk/qualification/50084811.seo.aspx
50084811進行資格目的由最終用戶輸入。
如果他們輸入無效的例如
http://www.accreditedqualifications.org.uk/qualification/50084911.seo.aspx
他們將被重定向到一個錯誤頁面(不正確的HTTP頭,據我可以看到)。有沒有辦法在C#中檢測重定向。我希望能夠檢測到http頭中的重定向(認爲它會發出2)或類似的反對必須下載整個頁面。這可能會發生很多,所以我想盡量減少流量。
編輯
用它來看看頭看起來像兩個是一個無效頁面發出:
發現這個http://stackoverflow.com/questions/924679/c-how-can-i-check-if-a-url-exists-is-valid我認爲它沿着正確的路線,但因爲是該網站不發出404或類似的不工作。我會繼續嘗試。 – PeteT 2010-03-29 15:07:56
@ petebob796:使用'WebClient'可能無法給您足夠的控制權。特別是,它不允許你關閉自動重定向(據我所知)。使用HttpWebRequest並查看響應代碼。 301和302是正常的重定向響應碼。 – 2010-03-29 15:25:03
感謝現在使用HttpWebRequest和HttpWebResponse隨request.AllowAutoRedirect = false;和request.Method =「HEAD」;. 對於其他讀者,我被StatusCode抓住了一秒鐘,它返回「OK」,「NOT FOUND」...但它是一個枚舉,可以轉換爲實際的錯誤301,302 ... – PeteT 2010-03-29 15:57:10