Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WPF使用凭据启动浏览器_C#_Wpf_Browser - Fatal编程技术网

C# WPF使用凭据启动浏览器

C# WPF使用凭据启动浏览器,c#,wpf,browser,C#,Wpf,Browser,我正在使用WPF和C 我希望能够启动浏览器窗口(最有可能是IE),并提供已知凭据,以便基于Windows的应用程序能够处理从自身到外部浏览器的转换,而无需用户再次输入其凭据 我知道如何启动浏览器: System.Diagnostics.Process.Start(url); 我的主要问题是,我如何将身份验证附加到它?也许通过某种方式添加标题 最后,我真的不想在WPF中使用新的WebBrowser控件,因为它当前在使用透明窗口显示时存在问题。这将取决于网站如何处理用户身份验证。如果您拥有该网站,

我正在使用WPF和C

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

我知道如何启动浏览器:

System.Diagnostics.Process.Start(url);
我的主要问题是,我如何将身份验证附加到它?也许通过某种方式添加标题


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

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

尼克

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

  • 代理身份验证由Windows手动处理
  • 基于表单的身份验证由cookies处理,因此用户需要有cookies
  • Windows NTML可能位于操作系统的“密钥链”中(请记住此密码)
  • 干杯

    菲尔。

    你必须知道如何“登录”。 要执行此操作,请在web应用程序中手动登录,并使用http调试器(如Fiddler)跟踪http流量。请注意发送的是哪种http请求,哪些名称包含参数,等等。 一旦知道要登录必须发送哪些http请求序列,就必须使用浏览器执行此操作

    2) 实现自动登录 2.1)如果碰巧通过http GET登录,只需将正确的查询字符串附加到url并启动浏览器即可。只有当您控制web应用程序并在这种机制中构建时,才会发生这种情况。other wise登录几乎总是通过https实现为POST

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


    2.2.2)如果没有其他功能,您必须通过COM(WebBrowser控件)使用浏览器。

    您是否碰巧有一个示例?身份验证机制是基本的。这与使用C#类HttpWebRequest.Credentials的安全性相同。按如下方式构建url:http//user:pass@yoursite.com