我查了几件东西,我只是没有找到一个正在做我正在做的事情。我发现那些很近的,但我似乎无法得到它。将curl转换为Python请求.put
我有这个卷曲声明。它成功时返回204,并且它工作正常。
# curl -v -H "Content-type: application/json" -X PUT -d '{"latitude":47.629355,"longitude":-122.3794778}' "http://myserver.com/location/private/location"
当我尝试将其转换到Python的要求,现在看来,这应该是如下:
headers = {'Content-type': 'application/json'}
data = {"latitude":'47.629355',"longitude":'-122.3794778'}
r = requests.put("http://myserver.com/location/private/location", headers=headers, data=data)
但多数民众赞成失败并返回一个400(坏请求)。所以,我已经形成了一些不太完整的东西。
我一直在捅它,改变引号等等。但根据我在SO和http://docs.python-requests.org/上看过的内容,它在我看来就像我做对了。
任何智慧分享将不胜感激。谢谢!
您将curl调用中的lat/long作为float提供,但在Python代码中作为字符串提供。尝试使用:'data = {“latitude”:47.629355,“longitude”:-122.3794778}'。否则代码看起来很好。 – Bjorn
这也是我原来的数据,它不起作用。我再次尝试,以确保我没有错过它,但仍然无法正常工作。仍然得到一个400. – mikecole79
打印r.text告诉我这个“无效的请求:无法读取数字:纬度= 47.629355和经度= -122.3794778” – mikecole79