如何更改请求标头

时间:2015-11-18 08:31:27

标签: python flask python-requests

如何设置请求标头?我从instagram下载图像,我想更改其文件名,获取文件大小。这些请求标头有wiki

这是我到目前为止所做的事情

import requests   
@app.route('/try')
def trial():
    img = 'https://igcdn-photos-e-a.akamaihd.net//hphotos-ak-xaf1//t51.2885-15//e35//12093691_1082288621781484_1524190206_n.jpg'
    imgData = requests.get(img)
    return imgData        # this gives me error: Response object is not callable

修改:我想设置content-disposition标头。另一个问题:当我设置标题时,我如何将图像提供给客户端?

我在互联网上读到,要将文件发送到客户端,我应该设置请求标头。但是我如何发送文件是我的另一个问题?很抱歉在同一个问题中提出另一个问题

2 个答案:

答案 0 :(得分:1)

您提出的查询与Flask无关。 Flask是一个Web框架。请求是一个HTTP库,可以帮助您解决问题

你只需要用你的标题创建一个dict(键:值对,其中键是标题的名称,值是,该对的值),并将该dict传递给标题参数.get.post方法。

headers = {'Content-Type': 'text/plain'}
r = requests.get('http://example.com', headers=headers)

如果您希望检查发送请求时设置的标头值,那么您可以简单地执行此操作:

print r.headers
print r.headers['Content-Type']  # Output - 'text/html'

答案 1 :(得分:0)

resp = requests.get('https://igcdn-photos-e-a.akamaihd.net/hphotos-ak-xaf1/t51.2885-15/e35/12093691_1082288621781484_1524190206_n.jpg')

resp.headers

你会得到这样的回应..

{'content-length': '73921', 'last-modified': 'Fri, 30 Oct 2015 15:18:29 GMT', 'connection': 'keep-alive', 'cache-control': 'max-age=1209600', 'date': 'Wed, 18 Nov 2015 08:44:15 GMT', 'access-control-allow-origin': '*', 'content-type': 'image/jpeg', 'timing-allow-origin': '*'}

您可以获取标题...查看content-length。你不会得到我相信的文件名,因为content-disposition不会存在。所以尝试别的东西来获取文件名。