2017-06-12 11 views
0

私は形に私の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コマンドを使用しますか?

+0

"simChangesList:"で始まる文字列を引用しているので、それが得られます。いいえ=が表示されます。見た目からはリクエストパッケージを使用しています。 "simChangesList"をキーとしたdictと**引用されていない**を値としてシリアライズされたリストとして渡します。ヘッダーを明示的に渡す必要はありません。 –

+0

@IljaEveriläこのように? 'data = {simChangesList: 'simId':760590802、 'changeType':2、 'targetValue': '0003077'、 'effectiveDate': 'null'}'それでも正しいとは言えません。 POSTに必要な私のリスト? – juiceb0xk

答えて

-1

私も同様の状況の家主に遭遇しましたが、私はちょうど、json内のパラメータの1つが存在しない、解決策を探しています。パラメータを渡すために家主に

json.dumps (data)

はそれを試して追加することをお勧めします。

関連する問題