3

我正在使用WebKit.Net开发我的第一个Windows窗体应用程序。我需要连接到https站点并弹出认证表单。使用.Net的内置浏览器,身份验证表单会自动弹出,但WebKit只会让我在401身份验证错误页面,我无法弄清楚如何进行身份验证。有任何想法吗?Webkit HTTPS身份验证

即使我可以弄清楚如何在核心webkit库中做到这一点,我可以修改WebKit.Net来支持它,但我甚至找不到。我试图寻找铬源,看看他们是如何处理它的,但它远远超过了我的头。任何帮助表示赞赏。

〜therealmitchconnors

UPDATE: WebKit.NET内置WebKit的WinCairo端口,它使用CFLite取代苹果的封闭上CFNetwork的DLL。显然,CFLite不支持身份验证挑战,这是“正确”的方式。因此,我在WebResourceLoadDelegate中添加了一些代码来检查用户名和密码,如果提供了一个代码,但不包含标题,请取消该Web请求并重新调用导航方法,包括用户名和密码。这是一个非常丑陋的黑客,但它的工作原理。在webkitdotnet/therealmitchconnors查看。

我们弄清楚如何关闭问题...

+0

从这篇文章[link](http://developer.android.com/reference/android/webkit/WebView.html)看来,WebView类的Android实现包含一个SetHTTPAuthentication方法来完成此操作,但WebKit.Interop.WebViewClass不包含此方法。这是一个不同的webkit实现吗? – therealmitchconnors 2011-06-07 18:42:48

+0

那么,我能够使用WebMutableRequest.setValue()手动设置WebBrowserCore.Navigate()方法中的Authentication标头,但只有当用户从导航栏中导航时才会调用该标头。如果单击超链接或重定向被触发,在发送之前我无法找到访问请求对象的方法。 – therealmitchconnors 2011-06-10 18:45:49

+0

您是否有任何想法可以阅读WebKit中的HTTP头文件? http://stackoverflow.com/questions/10458961/get-http-headers-on-webkit-net – Juan 2012-05-05 04:53:03

回答

1

还有就是API中没有办法做到这一点。查看我的更新以获取我的解决方法。