Invoke-WebRequest 一个返回 json 字符串的 API 返回整数列表?

ca9*_*3d9 1 powershell http httpresponse

在 Chrome DevTools 的网络选项卡中,我右键单击请求并选择“Copy => Copy as PowerShell”并获得以下脚本。请求的“响应”是一个 json 字符串。

$session = New-Object Microsoft.PowerShell.Commands.WebRequestSession
 $session.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36"
 $session.Cookies.Add((New-Object System.Net.Cookie("INGRESSCOOKIE", "1661198715.885.38.892935", "/", "xx.com")))
 $response = Invoke-WebRequest -UseBasicParsing -Uri "https://xx.com/api/v1/xxx?filter[reportDate]=2022-08-24&filter[forceReload]=true" `
 -WebSession $session `
 -Headers @{
 "method"="GET"
   "authority"="xx.com"
   "scheme"="https"
   "path"="/api/v1/sum? Filter[reportDate]=2022-08-24&filter[forceReload]=true"
   "sec-ch-ua"="`"Chromium`";v=`"94`", `"Google Chrome`";v=`"94`", `";Not A Brand`";v=`"99`""
   "accept"="application/vnd.api+json"
   "authorization"="Bearer $($token. Token)"
   "sec-ch-ua-mobile"="?0"
   "sec-ch-ua-platform"="`"Windows`""
   "origin"="https://xx.com"
   "sec-fetch-site"="same-site"
   "sec-fetch-mode"="cors"
   "sec-fetch-dest"="empty"
   "referrer"="https://xx.com/"
   "accept-encoding"="gzip, deflate, br"
   "accept-language"="en-US,en;q=0.9"
 } `
 -ContentType "application/vnd.api+json"
Run Code Online (Sandbox Code Playgroud)

但是,Write-Output $response.Content得到的是整数列表而不是 json 字符串?

$response.RawContent

 00 OK
 Date: Fri, 26 Aug 2022 17:54:50 GMT
 Transfer-Encoding: chunked
 Connection: keep-alive
 Server: nginx/1.19.0
 Access-Control-Allow-Credentials: true
 Access-Control-Allow-Origin: https://xx.com
 Vary: Accept-Encoding
 Vary: Origin
 x-Server-Version: 0.1.133.0
 x-Machine-Name: xx-service-6c65559c9f-ljsjf
 x-Environment: UAT
 api-supported-versions: 1
 Strict-Transport-Security: max-age=15724800; includeSubDomains
 Content-Type: application/vnd.api+json
 Content-Encoding: br
 
 ???..?????OW.?M.?I???-2?2+.""?EdV?LOC???y???p????s.????.???)m?e.&RuCCC?????U?.?..
 
 >.?.?%?a????x<?????DL7???????XO?iq??./?????}?i    ??}????j.?i
 ??Z/?.?.???z?6._???????????x???M??|Z\-????]^??iq???q~?.?.????
 ....
Run Code Online (Sandbox Code Playgroud)

如何解码响应内容?

ca9*_*3d9 5

更改"accept-encoding"="gzip, deflate, br""accept-encoding"="gzip, deflate"(no br) 解决了问题。