Unterschied zwischen Daten und json Parameter in python-requests-Paket
Was ist der Unterschied zwischen Daten-und json-Parameter an das python-Requests-Paket?
Es ist unklar, aus die Dokumentation
Dieser code:
import requests
import json
d = {'a': 1}
response = requests.post(url, data=json.dumps(d))
Tun nichts anderes, als:
import requests
import json
d = {'a': 1}
response = requests.post(url, json=d)
Wenn ja, was? Hat die letztere automatisch die content-type
in der Kopfzeile, um application/json
?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Beantwortung meiner eigenen Frage, es scheint, meine beiden Beispiele oben, die gleiche Sache zu tun und mit den
json
parameter hat in der Tat diecontent-type
im Headerapplication/json
. In meinem ersten Beispiel oben mit derdata
parameter, diecontent-type
im Header würde müssen manuell eingestellt werden.json=data
mit Daten ein dict ist nicht unbedingt offensichtlich. Mein Erster Instinkt warjson=json.dumps(data)
weil es sich genauer. Dann bekam ich unabhängigen Fehlern auf die remote-API ' s end, denn Sie erhielt das Ergebnis ein json-string weiter codiert im json-Format (also das doppelte weggeworfen). Schwer zu erkennen, da es ein string ist und somit noch gültiges json. Um die Verwirrung hinzuzufügen, bei der Anmeldung, was den Beschenkten erhalten, die Ausgabe nicht zu unterscheiden ist, ob im string oder dict-form.