簡體   English   中英

如何在WebBrowser控件中獲取當前狀態代碼?

[英]How do I get current status code in a WebBrowser control?

我需要從WebBrowser中加載的頁面獲取http狀態代碼,我最終得到了這個解決方案:

我正在使用WebBrowser ActiveXInstance實例中的NavigateError事件。 但是它沒有正常工作:如果頁面無法加載,並且用戶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);
}

WebBrowserRefreshNavigate / Navigate2完全不同。 沒有為Refresh觸發NavigateComplete2 我不認為你可以獲得刷新的狀態代碼,除非你求助於一些低級APP處理程序掛鈎。 相關: Wpf WebBrowser刷新

您可以從LoadComplete()上的NavigationEventArgs獲取WebResponse ,這也應該在刷新頁面時觸發。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM