私は実際にpythonを使ってウェブアプリケーションでmutlipartデータを送信したいと考えています。私はこの便利なリクエストモジュール(http://requests-fr.readthedocs.org/en/latest/)を使用しています。Pythonでリクエストモジュールを使ってマルチパートデータを投稿
私はオーディオファイル(システムにローカルに保存されています)と2つのパラメータ(情報のためのGPS座標)を送信する必要があります。
私はすでにcurlコマンドでこれを行うためのマンネージを持っていますが、私はRequests Pythonの実装を探しています。 このcurlコマンドです:
curl -u "user:pass" -F '[email protected]' -F "latitude=42.44646" -F "longitude=8.46464" 'http://my_server_ip/web/rest/vocal' -v --digest
これは私がPythonの要求にそれをやろうとしている方法です:
url = "http://my_server_ip/web/rest/vocal"
files = {'audio' : open('/PATH/record.wav','rb'),'latitude':42.44646,'longitude':8.46464}
r = requests.post(url, auth=HTTPDigestAuth('user','pass'),data=files)
r.json
print r.json
瞬間のために、私が得る唯一の応答が500エラーです。
誰かが間違っていることを理解していますか?あなたがそれを行うためのより良い解決策を見たら教えてください:)
おはようございます!
あなたは 'みました...ファイル=ファイル) 'の代わりにあなたの投稿に'?data = files) '? – schwobaseggl
はい! files =ファイルでは、私は400のエラーを受け取ります –
http://requests.readthedocs.org/en/latest/user/quickstart/#post-a-multipart-encoded-file私は 'latitude'と' longitude'はありませんファイルであるので、 'files''dict'のキーにするべきではありません... – schwobaseggl