我正在尝试从python发出一个curl命令,从命令行可以正常工作:
curl -k --data-binary @GetRequestData.xml -u archala:H@ror1987 https://wsgwtestmg.mass.gov:5550/service/mgmt/current > Response\generated_Resp.xml
但是当我从python中调用它时:
from sys import argv
import subprocess
# run python cache2.py hosts.txt Test
with open(argv[1]) as f:
addresses = {i.split(" : ")[0] : i.split(" : ")[1] for i in f}
print(addresses[argv[2]])
command = "curl -k --data-binary @GetRequestData.xml -u archala:H@ror1987 https://" +addresses[argv[2]].strip()+ ":5550/service/mgmt/current > Response\generated_Resp.xml"
print(command)
p = subprocess.Popen(command, stdout=subprocess.PIPE).communicate()[0]
我得到了: 无法解析主持人:>
答案 0 :(得分:0)
在swstephe的帮助下,添加了shell = True,它有效。
有人提到使用请求是一种更好的方法,如果有人使用请求给我相同的话,我将不胜感激。 感谢。