1

我们有一个知识库,我们想从我们的桌面应用程序链接以获得帮助。

我尝试使用默认的 Web 浏览器打开它,但我们设置了 .htaccess 凭据,因此会提示它们。我不希望他们必须输入用户名和密码,因为我们只是为应用程序设置一个。

这会导致它们每次都被提示:

Dim url = "http://mysite.com/index.php?/category/40/0/10/"
Process.Start(url)

我不能再把用户名和密码放在 url 中,因为 IE9 不支持它:

http://username:pass@url.com <-- 较新的浏览器不支持

我尝试使用 webbrowser 控件,但它使用的是 IE4 而不是当前的任何东西。这导致它显示不正确。

Dim hdr = "Authorization: Basic " + Convert.ToBase64String(Encoding.ASCII.GetBytes("myuser" + ":" + "password")) + System.Environment.NewLine
WebBrowser1.Navigate(Url, Nothing, Nothing, hdr)

我试图让注册表设置强制 IE9,但我无法让它工作。此外,根据我的阅读,如果他们没有 IE9 也没关系。

关于如何解决这个问题的任何建议?我只想从我的应用程序中打开一个安全网页!

谢谢!

4

1 回答 1

1

在进一步编码之前,您可以搜索以了解基本身份验证的工作原理。您可以使用 HttpAnalyzer 或任何其他工具来查看浏览器如何在其请求的标头中发送用户名和密码。他们只是使用标头的身份验证部分。您必须构建一个新请求或找到一个现成的框架来为您执行此操作。

基本身份验证通常由 2 个请求/响应组成。浏览器一开始对身份验证一无所知,但服务器会用 401 回复代码通知他,这意味着浏览器应该提供身份验证。从现在开始,所有请求都有一个使用 Base64 编码的 Authentication 标头,其中包含用户名和密码。

于 2012-06-04T15:30:33.893 回答