Метод POST в Powershell дает 400 неверных запросов - PullRequest
0 голосов
/ 17 января 2020

Я пытаюсь отправить системную информацию непосредственно из этого сценария PS в мой Python API, когда я отправляю данные JSON из Powershell в Postman в API, они отлично работают, но когда я пытаюсь сделать это в PowerShell Я продолжаю получать следующую ошибку:

400 Bad Request
Bad Request
The browser (or proxy) sent a request that this server could not understand.
At line:1 char:71
+ ... rtTo-Json | Invoke-RestMethod -Uri "127.0.0.1:5000/event" -Method Pos ...
+                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-RestMethod], WebException
    + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeRestMethodCommand

Вот код PS:

$Result = Get-EventLog -LogName Application -Entrytype Error
$url = "http://127.0.0.1:5000/event"
Invoke-RestMethod -Uri $url -Method POST -Body ($Result|ConvertTo-Json) -ContentType "application/json"

Python код: (Он печатает True при request.is_json при публикации из PS, но с кодом 400)

@app.route('/event', methods=['POST'])
def postEventViewer():
    print(request.is_json)
    content = request.get_json()
    for item in content:
        machinename = item['MachineName']
        eventid = item['EventID']
        message = item['Message']
        source = item['Source']

        print(machinename)
        return 'Successful'

Что я здесь не так делаю? Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...