我需要從web瀏覽器加載頁面獲取HTTP狀態代碼,我結束了此解決方案:如何在WebBrowser控件中獲取當前狀態代碼?
我使用NavigateError
事件從WebBrowser
ActiveXInstance
實例。但它不能正常工作:如果頁面無法加載並且用戶wb.Refresh()
它和加載沒問題,並且我只有一個錯誤(只有方法名稱纔會提示),我纔會得到一個狀態代碼保存舊的http狀態錯誤代碼,因爲成功加載不會更改我的http狀態代碼。我該如何解決這個問題?
public doSomething()
{
SHDocVw.WebBrowser axBrowser = (SHDocVw.WebBrowser)webBrowser1.ActiveXInstance;
axBrowser.NavigateError += new SHDocVw.DWebBrowserEvents2_NavigateErrorEventHandler(axbrowser_navigatorError);
}
public void axbrowser_navigatorError(object pDIsp, ref object URL, ref object frame, ref object statusCode, ref bool Cancel)
{
statuscodeLabel.Text = statusCode.ToString();
int.TryParse(statusCode.ToString(), out httpCode);
}
NavigateComplete2在沒有錯誤時觸發。所以用它來重置你的狀態碼。 –
使用這個我可以假設沒有錯誤發生,但不能得到http狀態碼,因爲它的參數是'object pDisp,ref object url',其中'pDsip'是一個'WebBrowser'實例(我們無法獲得http狀態代碼沒有我的'axbrowser_navigatorError()')和'url'是我們正在處理的url,對吧? – Jack
它看起來就像是WebBrowser的DocumentCompleted等價物...... – Jack