将Curl数组JSON Post转换为Python
我正在努力改变信仰将Curl数组JSON Post转换为Python,python,json,python-3.x,curl,post,Python,Json,Python 3.x,Curl,Post,我正在努力改变信仰 curl -d '[[51.3, 13.4], [51.4, 13.3]]' -XPOST -H 'Content-Type: application/json' https://elevation.racemap.com/api 将命令Curl转换为Python。我试过了 import urllib.request import json body = {'locs': [[51.3, 13.4], [51.4, 13.3]]} myurl = "htt
curl -d '[[51.3, 13.4], [51.4, 13.3]]' -XPOST -H 'Content-Type: application/json' https://elevation.racemap.com/api
将命令Curl转换为Python。我试过了
import urllib.request
import json
body = {'locs': [[51.3, 13.4], [51.4, 13.3]]}
myurl = "https://elevation.racemap.com/api"
req = urllib.request.Request(myurl)
req.add_header('Content-Type', 'application/json; charset=utf-8')
jsondata = json.dumps(body)
jsondataasbytes = jsondata.encode('utf-8')
req.add_header('Content-Length', len(jsondataasbytes))
print (jsondataasbytes)
response = urllib.request.urlopen(req, jsondataasbytes)
这是一个错误。似乎curl在传递数组时没有指定参数名?我不确定如何形成Json以适应curl输入。我只想使用:
“一个错误”是所有错误中最糟糕的,因为没有人能帮你解决它。请添加详细的错误描述,包括完整的错误回溯。
import requests
headers = {
'Content-Type': 'application/json',
}
data = '[[51.3, 13.4], [51.4, 13.3]]'
response = requests.post('https://elevation.racemap.com/api', headers=headers, data=data)
print(response.status_code)
# 200