Unterschied zwischen "Daten" und "params" in Python-requests?
Ich war neugierig, was der Unterschied war zwischen den data
parameter und die params
parameter in einem python-requests
Anfrage, und wenn jeder verwendet werden soll.
Ein Beispiel ist, ich habe ein array von dicts users=[{"email_hash": "fh7834uifre8houi3f"}, ... ]
und ich versuche, eine POST (requests.post()
) mit
params = {
"ads_token": blah blah,
"user_id": blah blah,
"users": json.dumps(users) # users=[{"email_hash": "fh7834uifre8houi3f"}, ... ]
"hash_type": "md5"
}
und weil users
ist ein paar hundert lange, wird der resultierende string von json.dumps(users)
(und damit auch die URL selbst auch) ist sehr lange und ich bekomme die Fehlermeldung {'status_code': 414, 'reason': 'Request-URI Too Large'}
. Dies wäre ein Fall für data
oder gibt es ein anderen Weg, den ich Folgen sollte? Danke!
Du musst angemeldet sein, um einen Kommentar abzugeben.
params
form der query-string in der URLdata
zum füllen der Körper einer Anfrage (zusammen mitfiles
).GET
undHEAD
Anfragen haben keinen Körper.Für die Mehrheit der Server die Annahme einer
POST
Anfrage, werden die Daten voraussichtlich übergeben werden, wie die Anfrage Körper.Müssen Sie konsultieren Sie die Dokumentation für die spezifische API, die Sie aufrufen, was Sie erwarten, aber wenn Sie müssen davon ausgehen, davon ausgehen, dass Sie verwenden
data
.params
, POST in der Regel verwendetdata
(undfiles
), und wasDELETE
?DELETE
muss, um die übertragung großer Mengen, um die Methode sanktioniert, die auf einem server. Beachten Sie, dassdata
undparams
sind nicht gegenseitig ausschließen; ich habe gesehen, URLs akzeptieren, dass POST-requests mit beiden query-Parameter und ein Körper tragen Bedeutung.