使用Process.Start打开包含用户名,密码,域

时间:2015-10-06 14:50:41

标签: vb.net

使用默认浏览器打开URL时,以下工作正常:

Process.Start(@"https://www.reddit.com/r/zeronet")

这与' start'相同。控制台上的命令。但是,在the documentation中,此参数应为文件名或应用程序。

我见过的一些旧代码通过以URL作为参数打开Internet Explorer来打开URL,但它使用了ProcessStart对象:

Dim tempProcessObj As New ProcessObject(<location of IE on the machine>)
tempProcessObj.Domain = "Domain"
tempProcessObj.UserName = "UserName"
tempProcessObj.Password = new SecureString();
tempProcessObj.Arguments = "https://www.reddit.com/r/zeronet"

Process.Start(tempProcessObj)

这会引发异常,&#34;系统找不到指定的文件&#34;。这可能是因为fileName参数意味着是文件或可执行位置。

所以,基于此,我问:

  1. 如果Process.Start(String)支持url,那么为什么不在Process.Start(ProcessStartInfo)中?
  2. 启动URL而不是可执行文件时,UserName / Password / Domain是否相关? (即是否需要这种情况?)
  3. 如果这是错误的&#39;在默认浏览器中启动URL的方法是什么?

1 个答案:

答案 0 :(得分:1)

根据您的描述,看起来Process Start对象无法在您指定的位置找到IE可执行文件。

当您尝试根据Web服务器的身份验证设置导航到浏览器中的网站时,浏览器可以询问您的用户凭据,但在您的情况下,实际上没有任何意义提供网站网址。

通常,您可以通过将URL传递给Process.Start来启动网站,如您在第一个代码段中所示。这将自动确保在您计算机的默认浏览器中打开网站。