使用powershell登录网站,无需IE COM方法



正在寻找如何在没有IE COM方法的情况下使用powershell测试网站登录的解决方案。有很多例子如何使用IE COM方法:-ComObject的internetExplorer.Application,但不幸的是,这对我来说不起作用,因为网站根本不使用IE。

Google chrome在其开发工具中的网络选项卡上有一个不错的功能

清除网络日志,过滤使其显示";所有";请求/响应。

登录到该网站,然后点击红色按钮或点击";ctrl+e";以阻止日志增加。

仔细查看每个请求,直到您看到登录请求(这些请求有时很难发现。(

一旦您找到请求,右键单击请求的名称,然后您可以选择";复制->复制为PowerShell";。

将其粘贴到ISE等中

然后,我个人将从请求上方删除所有$Session行,并将-WebSession $session更改为-SessionVariable $session,然后在此后的每个web请求中调用-WebSession $session。(只使用-Sessionvariable一次,因为这是实例化会话的内容(。我这样做的原因是为了让登录创建自己的会话数据,而不是使用浏览器中的任何可能数据。

最后,您将希望从Web请求中清除任何不需要的标头。

根据登录机制的不同,请求可能需要调整以允许通过自动化完成,我只遇到过几种情况,由于AJAX或页面上的其他元素,需要多次请求。

最新更新