我无法确定需要使用DotNetBrowser控件进行身份验证的加载网址。
IE浏览器和Chrome浏览器会显示一个对话框,并询问用户名和密码 但DotNetBrowser显示以下文字:
HTTP错误401 - 未经授权:访问被拒绝
如何让DotNetBrowser显示登录对话框?
答案 0 :(得分:0)
以下文章介绍了如何在DotNetBrowser中处理HTTP身份验证:
总之,有必要实现和注册NetworkDelegate
接口的自定义实现,以便在必要时提供用户名和密码。例如:
public class CustomNetworkDelegate : DefaultNetworkDelegate
{
public bool OnAuthRequired(AuthRequiredParams parameters)
{
if (!parameters.IsProxy) {
parameters.Username = "proxy-username";
parameters.Password = "proxy-password";
// Don't cancel authentication
return false;
}
// Cancel authentication
return true;
}
}
然后注册此实现,如下所示:
browserView.Browser.Context.NetworkService.NetworkDelegate = new CustomNetworkDelegate();
可以直接显示对话框或处理应用程序代码中的身份验证。您还可以注册包含即用型身份验证对话框的现有实现(WinFormsDefaultNetworkDelegate
或WPFDefaultNetworkDelegate
)。