powershell - 通过 Powershell 获取请求标头
问题描述
我正在尝试使用我们公司使用的基于 Web 的应用程序设置 Powershell API。我已经下载了一个可以完成类似任务的脚本,但我遇到了一个无效的跨站点引用令牌的问题。我对 HTTP 相当不熟悉,但做了足够的挖掘来缩小问题的范围。
该脚本发送两个 HTTP Web 请求,一个用于从应用程序中的特定对象获取数据,另一个用于编辑该对象的属性之一。获取数据的第一个 HTTP 请求成功。如果我在浏览器中查看相同的 HTTP 请求,我会看到我被分配了一个 XSRF 令牌作为请求标头的一部分。
我可以将令牌作为请求标头的一部分复制/粘贴到 Postman 中,并且在 powershell 中失败的第二个请求成功,我也可以在应用程序的末端看到它。我可以根据 powershell 中的 403 错误判断我所缺少的只是 XSRF 令牌。
话虽如此,我看不到任何访问 HTTP 响应的请求标头的方法,我只能通过访问响应的 .headers 属性来获取响应标头,如下所示:
$Result = Invoke-WebRequest @Arguments -Headers $script:ServerConnection.Headers -SessionVariable ConnectServer -UseBasicParsing
$header = Result.headers
简而言之,是否可以访问该 HTTP 响应的请求标头?如果是这样,我可以访问所需的令牌并将其输出到失败的第二个参数的请求标头中。
解决方案
推荐阅读
- python - 未添加主题
- python - Pandas 在不同列中删除具有相同数据组合的行
- git - IntelliJ 默认更改列表未显示所有本地更改
- linux - 批量替换 Unix 中由 macOS 创建的未识别字符
- r - 将包附加到 R 中的“临时”搜索路径
- scala - mockito 是否在验证中检查/匹配参数值
- android - 如何为 Android 模拟器设置 Mockoon?
- java - 错误:通过 SSH 运行时无法找到或加载主类 org.testng.TestNG
- assembly - NASM 中的调试符号(再一次)
- oracle - Oracle 数据库 rpm 包未使用 curl 命令加载到 CentOS