将POST数据从PYTHON发送到PHP后进行操作

2024-03-29 08:37:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个每隔几分钟生成一次JSON的内部服务器。我需要把这个传递给外部服务器,这样我就可以操作数据,然后在web界面中显示它。 下面是我的python,它将数据发送到PHP脚本:

x = json.dumps(data)

print '\nHTTP Response'

headers = {"Content-type": "application/json"}

conn = httplib.HTTPConnection("myurl.com")

conn.request("POST", "/recieve/recieve.php", x, headers)
response = conn.getresponse()
text = response.read()
print "Response status: ",response.status,"\n",text
conn.close()

这是我用来接收数据的PHP

^{pr2}$

我的python脚本返回响应状态为200,这很好,它返回我的JSON。但是在PHP方面,我希望能够存储这些信息以进行操作,然后让web客户端来获取它。但是看起来即使我说

print_r ($objJson);

当我访问.php页面时,它不会打印出我的对象。我想数据丢失是因为file::input将只读,然后结束?在


Tags: 数据text服务器脚本webjsonresponseconn
3条回答

在向PHP发送数据时,尝试使用包含JSON数据的命名参数,并尝试在PHP中使用$_POST超级全局数组(因为显然是通过cgi或类似接口而不是通过cli进行连接)。 通过打印$后数组,您可以查看所有POST数据:

print_r($_POST);

这是我最后所做的快速修复

Python

x = json.dumps(data)
headers = {"Content-type": "application/json"}
conn = httplib.HTTPConnection("myurl.com")

conn.request("POST", "/script.php", x, headers)
response = conn.getresponse()
text = response.read()
print "Response status: ",response.status,"\n",text
conn.close()   

然后我意识到PHP正在接收post数据,但我很难操纵它。所以我只是将JSON发送到一个接收PHP文件,该文件将数据作为文件写入,然后有另一个JavaScript请求获取该文件。 菲律宾比索

^{pr2}$

然后从我的客户机发出一个ajax请求,并在客户端解析它。在

最终,我不得不重新考虑这一点,但它目前有效。我还要重写新建.json每次传入新数据或在JavaScript成功回调中解析出旧数据时都将其归档。取决于你想做什么。在

不要使用file_get_contents()

只是:

if($_POST){ echo "WE got the data"; }

如果您不熟悉PHP数组,print_r将帮助您从那里开始。在

相关问题 更多 >