WPF使用凭据启动浏览器

我正在使用WPF和C#。

我希望能够启动一个浏览器窗口,很可能是IE,并提供已知的凭据,以便基于Windows的应用程序可以处理从自身到外部浏览器的转换,而无需用户再次输入他/她的凭据。

我知道如何启动浏览器:

System.Diagnostics.Process.Start(url); 

我的主要问题是,我如何附加身份validation? 也许通过以某种方式添加标题?

最后,我真的不想在WPF中使用新的WebBrowser控件,因为它显示了透明窗口的当前问题。

1)你必须知道如何“登录”。 要在Web应用程序中手动登录,请使用http调试器(如Fiddler)跟踪http流量。 注意发送什么类型的http请求,具有参数的名称等等。一旦知道必须发送什么序列的http请求登录,就必须使用浏览器执行此操作。

2)自动实现登录2.1)如果通过http GET发生任何机会登录 – 只需将正确的查询字符串附加到URL并启动浏览器。 只有当您控制Web应用程序并构建此机制时,才会发生这种情况,其他明智的登录几乎总是以https的POST实现。

2.2)如果你必须做POST请求你有几个选择:2.2.1)你可以提供本地html文档,其中包含javascript并从javascript中调用登录表单的ajax。 要传递参数,可以使用get参数。

2.2.2)如果没有其他工作,你将不得不通过COM(WebBrowser控件)使用浏览器

这将取决于网站如何处理用户身份validation。 如果您拥有该网站,则可以创建一个将使用您提供的信息记录用户的URL。

缺口,

身份validation将以不同方式处理: –

  1. 代理身份validation由Windows手动处理。
  2. 基于表单的身份validation由cookie处理,因此用户需要提供cookie。
  3. Windows NTML可能位于操作系统的“钥匙串”中(请记住此密码)。

干杯,

菲尔。