c# - WPF 使用凭据启动浏览器

标签 c# wpf browser

我正在使用 WPF 和 C#。

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

我知道如何启动浏览器:

System.Diagnostics.Process.Start(url);

我的主要问题是,我该如何附加身份验证?也许通过某种方式向其添加 header ?

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

最佳答案

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

2) 实现自动登录 2.1) 如果偶然通过 http GET 登录 - 只需将正确的查询字符串附加到 url 并启动浏览器。这只有在您控制 Web 应用程序并构建此机制时才会发生,否则登录几乎总是通过 https 以 POST 方式实现。

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

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

关于c# - WPF 使用凭据启动浏览器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1237141/

相关文章:

wpf - 使用 WPFToolKit 的 DataGridHyperlinkColumn

javascript - AngularJS 指令上有类似 DependencyProperty 的功能吗?

google-chrome - 如何在 Firefox Web 开发工具中调整 "responsive mode"缩放?

html - 如何在网页中以缩进显示源代码? HTML? CSS?

c# - 在 Rx 中实现滑动窗口的问题

c# - 用于 IEnumerable<string> 的 Visual Studio 可视化工具

WPF 在同一个 ListCollectionView 上使用多个过滤器

java - HtmlUnit 关于 cookie 和 windows 的疑问

c# - WPF 中没有 Main()?

c# - VS2013 构建不包括项目依赖项的 Nuget 依赖项的二进制文件