2012-03-21 40 views
0

我有一個場景,我導航到一個測試網站,但無論出於什麼原因(連接問題等),有時,測試失敗,因爲它無法訪問該網站。我如何要求HTTP頭?我正在檢查它是否顯示爲404,但我之前沒有處理過標題。如何從導航到頁面獲取HTTP響應?

語言的選擇是C#,但我是開放的。

感謝您的期待。

+2

結帳的http://計算器。 com/questions/9074707/how-do-i-get-headers-from-a-401-server-error/9074799#9074799這是關於檢查401的標題,但404的將是相同的。 – lukiffer 2012-03-21 23:29:15

+0

你如何向網站發送請求?目前還不清楚你是否已經有了代碼。 – svanryckeghem 2012-03-21 23:33:00

回答

1

做一個HttpRequest(我沒有針對簡碼),然後設置HttpMethod = "HEAD",當你調用GetResponse方法做這樣的事情

try{ 
    req.GetResponse(); 
} catch(WebException ex) { 
    if (ex.Response != null) 
     //Server explicit problem (ie. 404) 
    else 
     //Network problem: server wasn't even hit 
} 
0

FiddlerCore。它允許您監視/修改應用程序的HTTP流量。這是如果你使用瀏覽器。

如果您想檢查網站的狀態,您始終可以在瀏覽器導航前發送HTTP頭請求。

+0

我用過Fiddler,太棒了。這就是說,我的解決方案需要程序化。 – Freakishly 2012-05-02 01:39:50

0

只需在重定向到頁面之前發送基本的HTTP請求。只需檢查網站是否返回200OK響應,然後重定向。希望這個例子可以幫助:http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.getresponse%28v=vs.71%29.aspx