So wird JSON als Teil einer mehrteiligen POST-Anfrage gesendet

Ich habe folgendes POST-Anfrageformular (vereinfacht):

POST /target_page HTTP/1.1  
Host: server_IP:8080
Content-Type: multipart/form-data; boundary=AaaBbbCcc

--AaaBbbCcc
Content-Disposition: form-data; name="json" 
Content-Type: application/json

{ "param_1": "value_1", "param_2": "value_2"}

--AaaBbbCcc
Content-Disposition: form-data; name="file"; filename="..." 
Content-Type: application/octet-stream

<..file data..>
--AaaBbbCcc--

Ich versuche eine POST-Anfrage mit @ zu sendrequests:

import requests
import json

file = "C:\\Path\\To\\File\\file.zip"
url = 'http://server_IP:8080/target_page'


def send_request():
    headers = {'Content-type': 'multipart/form-data; boundary=AaaBbbCcc'}

    payload = { "param_1": "value_1", "param_2": "value_2"}

    r = requests.post(url, files={'json': (None, json.dumps(payload), 'application/json'), 'file': (open(file, 'rb'), 'application/octet-stream')}, headers=headers)

    print(r.content)

if __name__ == '__main__':
    send_request()

aber es wird der Status @ zurückgegeb400 mit folgendem Kommentar:

Required request part \'json\' is not present.
The request sent by the client was syntactically incorrect.

Bitte weisen Sie auf meinen Fehler hin. Was soll ich ändern, damit es funktioniert?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage