我是Web服务的新手,正在尝试使用python脚本发送以下基于JSON的请求:

http://myserver/emoncms2/api/post?apikey=xxxxxxxxxxxxx&json={power:290.4,temperature:19.4}

如果我将以上内容粘贴到浏览器中,它将按预期工作。但是,我正在努力从Python发送请求。以下是我正在尝试的:
import json
import urllib2
data = {'temperature':'24.3'}
data_json = json.dumps(data)
host = "http://myserver/emoncms2/api/post"
req = urllib2.Request(host, 'GET', data_json, {'content-type': 'application/json'})
response_stream = urllib2.urlopen(req)
json_response = response_stream.read()

如何将apikey数据添加到请求中?

谢谢!

最佳答案

可以使用requests代替urllib2。这个新的python lib确实写得很好,并且使用起来更加简单直观。

要发送json数据,您可以使用类似以下代码的内容:

import json
import requests
data = {'temperature':'24.3'}
data_json = json.dumps(data)
payload = {'json_payload': data_json, 'apikey': 'YOUR_API_KEY_HERE'}
r = requests.get('http://myserver/emoncms2/api/post', data=payload)

然后,您可以检查r以获得http状态代码,内容等

关于python - 使用Python发送JSON请求,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8634473/

10-12 22:00
查看更多