我正在使用 WPF 和 C#。
我希望能够启动一个浏览器窗口(最有可能是 IE),并提供已知的凭据,以便基于 Windows 的应用程序可以处理从自身到外部浏览器的转换,而无需用户再次输入他/她的凭据。
我确实知道如何启动浏览器:
System.Diagnostics.Process.Start(url);
我的主要问题是,如何附加身份验证?也许通过某种方式向其添加标头?
最后,我真的不想在 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 控件)使用浏览器
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)