2016-10-12 1 views
0

Aus irgendeinem Grund muss ich die Reihenfolge der Daten in Post-Request mit der Requests-Bibliothek beeinflussen.Reihenfolge der Parameter in Python Post-Anforderung beibehalten

Bedenken Sie:

data = { 
    'param1': "foo", 
    'param2': "bar", 
} 

print requests.post(url, data=data) 

So param1 sollte vor param2 im Körper sein. Eine entsprechende curl-Anfrage würde so aussehen:

curl --data "param1=foo&param2=bar" https://url.com 

jedoch ein dict in Python ungeordnet ist, so dass die tatsächliche Bestellung abweichen. Gibt es eine Möglichkeit, der Anforderungsbibliothek mitzuteilen, in welcher Reihenfolge die Parameter gesendet werden sollen? Vielleicht, um die Parameter urlencoded zu geben?

Antwort

0

Sie können eine OrderedDict statt:

from collections import OrderedDict 

data = OrderedDict(param1="foo", param2="bar") 
print requests.post(url, data=data) 
+0

ich dies habe versucht, aber aus irgendeinem Grund .. es hat nicht funktioniert Aber jetzt tut es, Dank! – hexhex

Verwandte Themen