【问题标题】:Webkit HTTPS AuthenticationWebkit HTTPS 身份验证
【发布时间】:2011-06-03 21:54:09
【问题描述】:

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

即使我能在核心 webkit 库中弄清楚如何做到这一点,我也可以修改 WebKit.Net 以支持它,但我什至找不到。我试着搜索铬源,看看他们是如何处理它的,但它超出了我的想象。任何帮助表示赞赏。

~therealmitchconnors

更新: WebKit.NET 建立在 WebKit 的 WinCairo 端口之上,该端口使用 CFLite 代替 Apple 封闭的 CFNetwork dll。显然,CFLite 不支持身份验证挑战,这是执行此操作的“正确”方式。因此,我在 WebResourceLoadDelegate 中添加了一些代码来检查用户名和密码,如果提供了,但未包含标头,则取消该 Web 请求并重新调用导航方法,包括用户名和密码。这是一个非常丑陋的黑客,但它有效。在 webkitdotnet/therealmitchconnors 上查看。

现在要弄清楚如何结束一个问题...

【问题讨论】:

  • 从这篇文章link 看来,WebView 类的 Android 实现包含一个 SetHTTPAuthentication 方法来执行此操作,但 WebKit.Interop.WebViewClass 不包含此方法。这是 webkit 的不同实现吗?
  • 好吧,我可以使用 WebMutableRequest.setValue() 手动设置 WebBrowserCore.Navigate() 方法中的 Authentication 标头,但这仅在用户从导航栏导航时调用。如果单击超链接或触发重定向,则在发送请求对象之前我无法找到访问它的方法。
  • 您知道是否可以读取 WebKit 中的 HTTP 标头吗? stackoverflow.com/questions/10458961/…
  • 在您的链接问题中查看我的回复...

标签: webkit basic-authentication http-authentication webkit.net


【解决方案1】:

API 中没有办法做到这一点。请参阅上面的更新以了解我的解决方法。

【讨论】:

    猜你喜欢
    • 2015-11-11
    • 2013-02-21
    • 2011-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多