Ich versuche, die folgende cURL Befehl POST meine URL-codiert Liste in eine Form zu imitieren:Python erforderlich Liste Parameter nicht vorhanden ist
curl "https://website.com/update/" --data "simChangesList=%5B%7B%22simId%22%3A760590802%2C%22changeType%22%3A2%2C%22targetValue%22%3A%220003077%22%2C%22effectiveDate%22%3Anull%7D%5D" --compressed
Die Daten Ich muss URL-Codierung das ist simChangesList. Im Wesentlichen werden diese Daten als simChangesList: [{"simId":760590802,"changeType":2,"targetValue":000307,"effectiveDate":null}]
decodiert. Mit dem folgenden Skript stoße ich auf einen Required List parameter 'simChangesList' is not present
Fehler.
Hier ist mein Skript:
headers = {'Content-Type': 'application/x-www-form-urlencoded'}
enc = urllib.quote('simChangesList: [{"simId":760590802,"changeType":2,"targetValue":000307,"effectiveDate":null}]')
auth = session.post(uri, data=enc, headers=headers)
print auth.text
jedoch das obige Skript ausführen gibt den oben fehlenden Liste Parameterfehler.
Wie kann ich pass in der fehlenden Parameterliste, wenn meine codierte Liste sieht wie folgt aus:
simChangesList%3A%20%5B%7B%22simId%22%3A760590802%2C%22changeType%22%3A2%2C%22targetValue%22%3A000307%2C%22effectiveDate%22%3Anull%7D%5D
Hinweis es fehlt die ‚=‘ Operator, warum kann ich nicht mein Skript ausführen und es eng machen ähneln meine cURL Befehl zum Veröffentlichen meiner URL-codierten Informationen?
Sie zitieren eine Zeichenfolge, die mit "simChangesList:" beginnt, also das, was Sie bekommen. No = wird angezeigt. Wie Sie es sehen, verwenden Sie das Anfragepaket. Übergeben Sie ein Diktat als Daten mit "simChangesList" als Schlüssel und der ** nicht angegebenen **, aber serialisierten Liste als Wert. Sie sollten den Header auch nicht explizit übergeben müssen. –
@ IljaEverilä Gefällt das? 'data = {simChangesList: 'simId': 760590802, 'changeType': 2, 'targetValue': '0003077', 'effectiveDate': 'null'}' Ich kann immer noch nicht richtig erscheinen, wie soll ich formatieren meine Liste, die ich senden muss? – juiceb0xk