私は形に私のURLエンコードリストを投稿するには、次のcurlコマンドを模倣しようとしている:Pythonは、リストのパラメータが存在しない必要
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
データは、私はURLエンコードをしている必要がありますsimChangesList。基本的に、このデータは次のようにデコードされますsimChangesList: [{"simId":760590802,"changeType":2,"targetValue":000307,"effectiveDate":null}]
次のスクリプトでは、私はRequired List parameter 'simChangesList' is not present
エラーに遭遇します。ここで
は私のスクリプトです:
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
しかし、上記のスクリプトを実行すると上記の不足しているリストパラメータエラーを返します。私のエンコードされたリストは、次のようになりますとき
はどのようにして不足しているリストのパラメータを渡すことができます:私は私のスクリプトを実行し、それが酷似することはできませんなぜそれが「=」演算子を欠けている
simChangesList%3A%20%5B%7B%22simId%22%3A760590802%2C%22changeType%22%3A2%2C%22targetValue%22%3A000307%2C%22effectiveDate%22%3Anull%7D%5D
お知らせ、私のURLエンコードされた情報を投稿するには、cURLコマンドを使用しますか?
"simChangesList:"で始まる文字列を引用しているので、それが得られます。いいえ=が表示されます。見た目からはリクエストパッケージを使用しています。 "simChangesList"をキーとしたdictと**引用されていない**を値としてシリアライズされたリストとして渡します。ヘッダーを明示的に渡す必要はありません。 –
@IljaEveriläこのように? 'data = {simChangesList: 'simId':760590802、 'changeType':2、 'targetValue': '0003077'、 'effectiveDate': 'null'}'それでも正しいとは言えません。 POSTに必要な私のリスト? – juiceb0xk