Jquery 将ajax http post转换为python
我想用Python向服务器发送一些数据 我有一段来自jQuery的工作代码,它满足了我的要求:Jquery 将ajax http post转换为python,jquery,python,ajax,post,Jquery,Python,Ajax,Post,我想用Python向服务器发送一些数据 我有一段来自jQuery的工作代码,它满足了我的要求: $.ajax({ type: "POST", contentType: "text/plain", url: "http://192.168.50.88/emoncms/nodes/1/tx/values", data: "17,58,5,1569,0,3000,236" }); 我需要用Python做同样的事情,但我不知道如何做。以下是我目前掌握的情况: impor
$.ajax({
type: "POST",
contentType: "text/plain",
url: "http://192.168.50.88/emoncms/nodes/1/tx/values",
data: "17,58,5,1569,0,3000,236"
});
我需要用Python做同样的事情,但我不知道如何做。以下是我目前掌握的情况:
import httplib, urllib
newdata = "17,58, 5,1569, 0, 3000, 236"
headers = {"Content-type": "text/plain"}
conn = httplib.HTTPConnection("192.168.50.88")
conn.request("POST", "/emoncms/nodes/1/tx/values", newdata)
response = conn.getresponse()
print response.status, response.reason
conn.close()
这会打印:“200 OK”,因此基本帖子可以正常工作,但我的数据没有到达服务器
有人能给我指出正确的方向吗?用请求代替
import requests
requests.post(
'http://192.168.50.88/emoncms/nodes/1/tx/values',
data='17,58, 5,1569, 0, 3000, 236',
headers={'content-type': 'text/plain'}
)
您还可以通过执行以下操作来存储响应
r = requests.post(...)
然后您可以从r变量访问响应代码、任何附加数据、标题等
因此,要回答我自己的问题-问题是我试图将数据发送到的特定目标,在raspberry pi上运行的能量记录程序在接受数据之前需要api密钥 如果有人对设备感兴趣,请参阅
感谢atlspin提供了比我自己的代码更清晰的代码。一个附带问题:行
标题=…
中是否缺少引号?是的,你说得对,我在复制/粘贴中遗漏了一个引号。我已经编辑过将其放入.check out flask模块,特别是json.dumps()函数,我刚刚尝试过这个。然而,它仍然不起作用。打印r.status_代码会得到200,因此post本身是正常的,但服务器显然正在丢弃数据。我正在安装wireshark,以查看ajax和Python版本之间的格式是否存在任何差异。在使用wireshark进行调查并证明ajax和Python请求发送相同的帖子(除了在标题中不同地标识浏览器之外——正如您所料)之后。我已经意识到,我还需要发送一个apikey将数据发送到这个特定的数据库。浏览器正在发送cookie。我需要明确地发送apikey。谢谢你的帮助。使用请求比我原来的版本要整洁得多。我很高兴你把它整理好了!