Webkit HTTPS身份验证

Webkit HTTPS身份验证,webkit,basic-authentication,http-authentication,webkit.net,Webkit,Basic Authentication,Http Authentication,Webkit.net,我正在开发第一个使用WebKit.Net的windows窗体应用程序。我需要连接到https站点并弹出一个身份验证表单。使用.Net的内置浏览器,身份验证表单会自动弹出,但WebKit只是将我放在401身份验证错误页面,我不知道如何进行身份验证。有什么想法吗 即使我能在核心webkit库中找到如何做到这一点,我也可以修改webkit.Net以支持它,但我甚至找不到它。我试图搜索铬的来源,看看他们如何处理它,但这是我的头。感谢您的帮助 ~therealmitchconnors 更新: WebKit

我正在开发第一个使用WebKit.Net的windows窗体应用程序。我需要连接到https站点并弹出一个身份验证表单。使用.Net的内置浏览器,身份验证表单会自动弹出,但WebKit只是将我放在401身份验证错误页面,我不知道如何进行身份验证。有什么想法吗

即使我能在核心webkit库中找到如何做到这一点,我也可以修改webkit.Net以支持它,但我甚至找不到它。我试图搜索铬的来源,看看他们如何处理它,但这是我的头。感谢您的帮助

~therealmitchconnors

更新: WebKit.NET构建在WebKit的WinCairo端口上,该端口使用CFLite代替苹果的封闭CFNetwork dll。显然,CFLite不支持身份验证质询,这是实现此目的的“正确”方法。因此,我在WebResourceLoadDelegate中添加了一些代码来检查用户名和密码,如果提供了用户名和密码,但没有包含标题,则取消该web请求并重新调用导航方法,包括用户名和密码。这是一个非常丑陋的黑客,但它的工作。请访问webkitdotnet/therealmitchconnors


现在想知道如何结束一个问题…

在API中没有办法这样做。有关我的解决方法,请参见上面的更新。

从本文中可以看出,WebView类的Android实现包含了一个SetHTTPAuthentication方法,但WebKit.Interop.WebViewClass不包含此方法。这是webkit的另一个实现吗?我可以使用WebMutableRequest.setValue()在WebBrowserCore.Navigate()方法中手动设置身份验证头,但这仅在用户从导航栏导航时调用。如果单击超链接或触发重定向,则在发送请求对象之前,我无法找到访问该对象的方法。您知道是否可以读取WebKit中的HTTP标头吗?在你的链接问题中看到我的回答。。。