我正在尝试将 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
,这似乎是问题所在。
function Send-JSONFiles(){
$FilesToUpload = @(Get-ChildItem -Path "$ProgramPath\Uploads" -filter *.json)
$Target = "https://theapi.com/api"
Foreach ($File in $FilesToUpload){
if($Dev){Write-host "Sending" $File.FullName "to" $Target$URI}
Try{
Invoke-WebRequest -uri "$Target" -Method Post -ContentType "application/json" -Headers @{ "Authorization" = "bearer " + $Global:token; "Cache-Control" = "no-cache"; } -Body (Get-Content $File.FullName -Raw)
}Catch{
Write-host $_
Write-host $_.Exception.Response.StatusCode.Value__
Write-host ($_.ErrorDetails.Message).error
}
}
}
我希望这与我的 REST 客户端一样工作。从文件中获取 JSON 数据并将其发布到目标 - 我不确定为什么这会破坏 JSON?