0

在 python 中,我正在运行 curl 命令

subprocess.check_output('curl ...') 

并且该进程在标题(而不是正文)中返回数据,我如何使用子进程捕获它?

curl ... > file

也不起作用

更新

我现在尝试了可以​​读取标头的请求,但它没有从 302 重定向中获取标头。

4

1 回答 1

1

保存到文件名.txt

import subprocess

with open('filename.txt', 'wb') as f:
    subprocess.call(['curl', '-I', 'http://stackoverflow.com'], stdout=f)

获取变量的标头

import subprocess

header, status = subprocess.Popen(['curl', '-I', 'http://stackoverflow.com'], stdout=subprocess.PIPE).communicate()
print header # string

使用请求

import requests

r = requests.get('http://stackoverflow.com')
print r.headers # dictionary
于 2013-06-21T11:37:15.417 回答