我正在Django中构建一个应用程序,并希望运行我之前已经创建的.php脚本。我需要能够向.php文件提供一个字符串并捕获返回的输出。有谁知道如何做到这一点?我可以制作某种http请求并捕获响应吗?
P.S。我已经尝试将php文件转换为python脚本,但我无法让它工作..
答案 0 :(得分:7)
尝试这个,我发现它here
import subprocess
#simple caller, disguard output
subprocess.call("php /path/to/my/old/script.php")
# if you want output
proc = subprocess.Popen("php /path/to/my/script.php", shell=True,
stdout=subprocess.PIPE)
script_response = proc.stdout.read()
答案 1 :(得分:0)
如果它是由web服务器提供的php文件(我假设你的HTPP请求问题)做这样的事情:
In [1]: import urllib2
In [2]: resp = urllib2.urlopen('http://www.starenka.net/ip')
In [3]: resp.read()
Out[3]: 'ip: 62.245.xx.xx\nlocal ip: 62.245.xx.xx\nhostname: ip-62-245-xx-xx.net.upcbroadband.cz\n'
In [4]: resp.info()
Out[4]: <httplib.HTTPMessage instance at 0x9f8720c>