WPF使用凭据启动浏览器

时间:2009-08-06 05:38:14

标签: c# wpf browser

我正在使用WPF和C#。

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

我知道如何启动浏览器:

System.Diagnostics.Process.Start(url);

我的主要问题是,我如何附加身份验证?也许是以某种方式向它添加标题?

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

3 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

尼克,

身份验证将以不同方式处理: -

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

    菲尔。

答案 2 :(得分:0)

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

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

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

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