问题标签 [invoke-webrequest]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
107 浏览

windows - 调用 API 时的问题

我们有两个执行 POST 和 GET 请求的 API。它们过去都可以正常工作,但是执行 POST 的 API 开始出现错误:

Invoke-WebRequest:底层连接是:接收时发生意外错误。`

几天来,我一直在尝试研究,所有 KB 都指向某种 SSL/TLS 并添加了这段代码:

但我从一开始就已经有了这个代码。但是,我找不到解决问题的方法。

操作系统:Windows 2012
PowerShell 版本:4.0

如前所述,这种情况一直持续到上周。

0 投票
1 回答
3635 浏览

powershell - Invoke-WebRequest 冻结/挂起

为什么 cmdlet“Invoke-WebRequest”在某些 URL 上冻结/挂起?任何可能的解决方法?我想访问给定网页的“span”对象,如果它不那样挂起,这个 cmdlet 将非常有用。

例如,这挂起:

这不会:

-UseBasicParsing 使其运行,但我想使用 Invoke-WebRequest 返回的功能而无需基本解析,因为通过基本解析,我尝试提取的 span 字段未填充。

0 投票
1 回答
872 浏览

powershell - 是否可以使用 Invoke Webrequest 登录到使用 Azure AD B2C 身份验证的站点?

我正在尝试使用访问网站并登录的 PowerShell 脚本来配置我的构建服务器以预热我的网站。整个网站都在登录后面。

我的网站使用 Azure AD B2C 进行身份验证,并已使用 Microsoft 的入门指南进行配置:https ://github.com/AzureADQuickStarts/B2C-WebApp-OpenIdConnect-DotNet

当我通过浏览器登录时,一切都按预期工作。

我当前的登录代码如下所示:

这是我在登录后请求页面的代码,之后运行:

问题是脚本似乎没有正确登录。每当我在登录后请求页面时,我总是会返回登录页面的 html。任何帮助深表感谢!

编辑- 页面上似乎没有 FORM 元素 - 哦!实际的登录是一个附加了 javascript 点击事件的按钮元素。登录页面由 Microsoft 托管,因此我几乎无法控制 DOM 元素:

所以我想我的问题是是否可以使用 PowerShell 触发按钮单击?当我还希望脚本在 IE 可能不可用的构建服务器上运行时

0 投票
1 回答
93 浏览

json - 如何将调用请求的结果转换为多维数组?

我使用“调用请求”来获取下面的 JSON。我想将其转换为多维数组。我在网上查了,但找不到合适的解决方案。答案会很好,如果不是,那么向我指出适当的资源也会有所帮助。

谢谢

0 投票
0 回答
151 浏览

azure - 无法将日期作为参数传递给 powershell 中的 uri

我正在尝试通过 powershell 和 rest API ( https://consumption.azure.com/v3/enrollments/ {enrollmentNumber}/usagedetailsbycustomdate?startTime=2017-01-01&endTime=获取 JSON 格式的 Azure 订阅的使用详细信息2017-01-10)

当我使用日期的实际值作为参数时,我的代码正在工作。但是当我使用变量来获取当前和前一天的日期时,它不起作用。它抛出一个错误,说该值小于 2014-05-01

我希望通过此代码获取最近两天的使用详细信息。任何帮助或建议表示赞赏

0 投票
1 回答
60 浏览

powershell - Invoke-WebRequest Links 属性值以 about:// 开头

我正在研究SCCM Application Packager配方,以自动化JetBrains Toolbox的下载、打包和部署。我正在尝试使用 Invoke-WebRequest cmdlet 将外部文本为“直接链接”的 href 值分配给名为 $LinkPath 的变量

这会不断返回 URL:

about://data.services.jetbrains.com/products/download?code=ALL&platform=windows

当我查看返回的对象时,我看到了相同的 URL:

如何分配在您点击该页面时自动下载的安装程序的 URL - 或 - 当您在浏览器中检查“直接链接”链接的属性时获得的 URL(当前为https://download.jetbrains。 com/toolbox/jetbrains-toolbox-1.14.5179.exe)到 $LinkPath 变量而不是 about://data.services.jetbrains.com/products/download?code=ALL&platform=windows ?

0 投票
1 回答
1124 浏览

powershell - 范围标头必须使用适当的属性或方法

我在产品论坛上搜索了高低并询问过,但似乎无法弄清楚这一点。

使用 PowerShell 5,我尝试按照 API 文档指示的方式使用范围标头来限制我的结果。但是,当我尝试使用它时收到以下错误。

“必须使用适当的属性或方法修改 'RANGE' 标头。参数名称:名称”

我试过了:

和...

此外,这是 API 文档中给出的 curl 示例:

curl -s -X GET -u 用户名 -H '范围:items=0-49' -H '版本:10.0' -H '接受:应用程序/json' ' https://product.com/api/s/of '

非常感谢对此的任何指示。

提前致谢

0 投票
0 回答
229 浏览

json - 'Invoke-WebRequest -Body Get-Content' 破坏 JSON

我正在尝试将 JSON 文件的内容发送到使用Invoke-WebRequest. 我已经验证了 JSON 文件并且它是健康的。我还可以使用 REST 客户端(Postman 和 Insomnia)成功发送 JSON 文件,所以我知道 JSON 数据和 API 都很好。

当我使用 PowerShell 发送文件时,我收到 400 response 400: "The Request Content is not a valid JSON string"

我正在使用 加载文件的内容Get-Content $File.FullName -Raw,这似乎是问题所在。

我希望这与我的 REST 客户端一样工作。从文件中获取 JSON 数据并将其发布到目标 - 我不确定为什么这会破坏 JSON?

0 投票
1 回答
1197 浏览

forms - 如何在 pwsh 中使用新的 param -form 登录网站

PowerShell 6.2.1 不使用 Invoke-WebRequest 返回 Forms 属性。我过去在 Powershell 5 中的做法:


我在 Microsoft 文档中看到现在有一​​个-Form可以使用的参数,但我已经破解了几个小时,但收效甚微。

https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/invoke-webrequest?view=powershell-6

他们提供了两种可能的解决方案。

示例 1


示例 2

我都试过了,我当前的代码块是两者的组合,它至少让我失败了。

这是我现在得到的错误。

调用 WebRequest :

403 禁止

Forbidden 您无权访问此服务器上的 /login。

在行:7 字符:11

  • $result = Invoke-WebRequest 'https://www.podbean.com/login' -SessionV ...
  • CategoryInfo : InvalidOperation: (Method: POST, Reque\u2026tent-Length: 357 }:HttpRequestMessage) [Invoke-WebRequest], HttpResponseException
  • FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand

这实际上是我得到的最好的回应。

0 投票
0 回答
738 浏览

powershell - inoke-webrequest 中的问题以更新我的 chromecast 固件

我需要更新我的 chromecast 固件,但我的互联网受到限制,然后我无法自动更新它。我在使用 vpn 时需要通过 pc 更新它。因此,我在 powershell 中使用以下脚本。但是,代码运行成功但没有结果。

这是运行该脚本的结果: