【问题标题】:opening up web browser from winform从winform打开网络浏览器
【发布时间】:2010-12-01 15:14:03
【问题描述】:

做了相当多的寻找,但没有找到我需要的东西。我想从一个获胜表单打开一个传递 url 的网络浏览器。但我需要在执行此操作时提供身份验证。我尝试只使用 system.diagnostics.process.start("http://userid:pw@site") 但这不起作用。希望有人能伸出援手。

谢谢 香农

使用提示..这就是我所拥有的......

Dim m As New System.Security.SecureString Dim pw As String = "mypassword"

    For Each c As Char In pw
        m.AppendChar(c)
    Next

    Dim pis As ProcessStartInfo = New ProcessStartInfo("http://test/pagegoingafter.aspx")
    With pis
        .UserName = "userid"
        .Password = m
        .UseShellExecute = False
    End With
    Process.Start(pis)

登录失败:未知用户名或密码。 这对我来说似乎很奇怪.. 但如果我在 firefox http://userid:mypassword@test/pagegoingafter.aspx 中这样做,我可以访问我的页面。如果我在 IE 8 中做同样的事情......没有乐趣。

那么还有什么其他方法可以让 IE 工作.. 因为我认为这将使上述代码也能工作。

【问题讨论】:

  • 那个东西。我正在尝试使用 Sql 2008 R2 Express 高级服务报告服务。它希望位于域上以允许安装它的位置以外的机器查看报告。我试图帮助的非营利组织没有域名。因此,我正在尝试查看是否可以通过 url 传递凭据,这样他们就不必每次都登录。登录是服务器上的用户 ID 和密码。您可以通过在所有盒子上创建相同的帐户并拥有相同的工作组来获得很多时间,但是对于 RS,这似乎不起作用

标签: vb.net browser


【解决方案1】:

您可以向进程提供凭据。

请参阅 this 重载到 Process.Start - 它需要用户名、密码和域。

还有其他选择 - 请参阅 this 博客文章。

【讨论】:

  • 如何为进程提供凭据?
  • @Michael Todd - 通过提供用户名和密码,使用正确的重载(或使用 ProcessStartInfo 类)。
猜你喜欢
  • 2013-02-06
  • 1970-01-01
  • 2021-01-21
  • 2017-11-06
  • 2016-11-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-22
相关资源
最近更新 更多