c# - 如何在 WebBrowser 控件中获取当前状态代码?

标签 c# windows winforms webbrowser-control http-status-codes

我需要从 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有很大的不同。没有为刷新触发 NavigateComplete2。我不认为你可以获得 Refresh 的状态代码,除非你求助于一些下层 APP handler钩子(Hook)。相关:Wpf WebBrowser Refresh .

关于c# - 如何在 WebBrowser 控件中获取当前状态代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24726133/

相关文章:

python - 使用 opencv videowriter python 提高视频中的图像质量

WinForms 设计器异常

c# - 选择哪个 WinForms CompositeUI 框架?

python - Tensorflow导入错误: No module named 'tensorflow'

C#:从后面的代码中拖动任何窗口(以编程方式)

windows - AWK:查看是否在 Windows 上运行

使用 COM 端口/使用 USB 串行 COM 端口与 xbee 模块通信的 C# 程序

时间:2019-03-08 标签:c#windowsformTabOrder

c# - IFormFile 作为嵌套的 ViewModel 属性

c# - 嵌套 GridView - 如何触发子 GridView 按钮单击事件