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

时间:2019-06-14 11:03:44

标签: json powershell invoke-webrequest

我正在尝试使用Invoke-WebRequest将JSON文件的内容发送到API。我已经验证了JSON文件,它很健康。我还可以使用REST客户端(邮递员和失眠者)成功发送JSON文件,因此我知道JSON数据和API很好。

当我使用PowerShell发送文件时,得到400响应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?

0 个答案:

没有答案