我試圖重現與Python請求這個curl命令:Python的請求不會上傳文件
curl -X POST -H 'Content-Type: application/gpx+xml' -H 'Accept: application/json' --data-binary @test.gpx "http://test.roadmatching.com/rest/mapmatch/?app_id=my_id&app_key=my_key" -o output.json
,捲曲請求工作正常。現在,我嘗試使用Python:
import requests
file = {'test.gpx': open('test.gpx', 'rb')}
payload = {'app_id': 'my_id', 'app_key': 'my_key'}
headers = {'Content-Type':'application/gpx+xml', 'Accept':'application/json'}
r = requests.post("https://test.roadmatching.com/rest/mapmatch/", files=file, headers=headers, params=payload)
而我得到的錯誤:
<Response [400]>
{u'messages': [], u'error': u'Invalid GPX format'}
我在做什麼錯?我必須在某處指定data-binary
嗎?
API被記錄在這裏:https://mapmatching.3scale.net/mmswag