如何使用python子进程从curl中检索信息

时间:2010-12-30 14:20:14

标签: python curl

我正在Windows上使用curl.exe。但不幸的是,我无法从控制台获取数据。

python代码如下所示:

tid = subprocess.Popen("C:/users/zero/Desktop/lm/curl.exe -i -H \"Cookie: login=" + userhash + "\" -F \"type=" + caid + "\" -F \"description=\" -F \"descr=" + cleaned + "\" -F \"filetype=2\" -F \"name=" + pavadinimas + "\" -F \"file=@" + namel + "\" -F \"tag=@" + nto + "\" http://www.isos.lt/upload.php")

我尝试使用process.returncode来检索信息,但是我没有得到正确的信息。 我可以在cmd中看到该信息,但我不知道如何获取它。也许用stdout = subprocess.PIPE,process.communicate()来获取这些信息?

编辑:

sukhbir发布的这个命令有帮助。感谢。

p = subprocess.Popen(command, stdout=subprocess.PIPE).communicate()[0]

Where command is your command.

2 个答案:

答案 0 :(得分:7)

通过子进程使用curl是很难的方法。免除麻烦并使用urllibpycurl

[更新]

目前,requests库是此类事情的最佳选择。

答案 1 :(得分:1)

p = subprocess.Popen(command, stdout=subprocess.PIPE).communicate()[0]

command是你的命令。