python2 执行 curl 命令,获取执行结果

发布时间: 更新时间: 总字数:349 阅读时间:1m 作者: IP上海 分享 网址

Python 2 中可以使用 subprocess 模块来执行 curl 命令并获取执行结果。下面是一个示例:

import subprocess

cmd = "curl -X GET 'https://example.com'"
process = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
output, error = process.communicate()

if process.returncode == 0:
    print("Output:", output.decode("utf-8"))
else:
    print("Error:", error.decode("utf-8"))

这将执行 curl 命令,并将输出和错误信息分别存储在 outputerror 变量中。如果命令执行成功(返回码为 0),则打印输出信息;否则,打印错误信息。

注意:

  • shell=True 参数表示使用 shell 来执行命令,这可以让你使用 shell 的特性,例如重定向和管道。但是,这也可能会引入安全问题,因为它允许执行任意 shell 命令。
  • stdout=subprocess.PIPEstderr=subprocess.PIPE 参数表示将输出和错误信息分别重定向到管道中,以便可以在 Python 中捕获和处理它们。
  • output.decode("utf-8")error.decode("utf-8") 用于将 bytes 对象解码为 Unicode 字符串,以便可以正确地打印输出和错误信息。

如果你想要获取 HTTP 响应的状态码和 headers,可以使用 curl 命令的 -i 选项,例如:

cmd = "curl -i -X GET 'https://example.com'"

这将使 curl 命令输出 HTTP 响应的 headers 和状态码。然后,你可以在 Python 中解析输出信息以获取所需的信息。

Home Archives Categories Tags Statistics
本文总阅读量 次 本站总访问量 次 本站总访客数