requests之stream参数分析以及用with确保请求关闭

[python] 2024-05-04 圈点861

摘要:requests之stream参数分析以及用with确保请求关闭

requests之stream参数分析以及用with确保请求关闭。

用with确保请求能及时关闭,示例如下:

url=''
#方式1
r1 = requests.get(url, stream=True)
#方式2
with requests.get(url, stream=True) as r2:
    # 在此做处理响应。


requests之stream分析:

当stream=True时,后边需要自己执行Response.close()操作进行关闭结束,否则只有所有的响应体数据被读取完毕连接才会被释放,用with即可以不用close()。

当stream=True时,如果是下载大的文件时,用True,可以先对请求的类型进行判断,如果是大文件,可以中止请求,而不用浪费大流量开销。

当stream=False时,如果是请求的大文件,其当其会进入内存并进行下载,消费大量的内存和流量。

如:

res = requests.get(url, stream=True)
ctype = res.headers['Content-Type']
ctype = ctype.lower()
if ctype.find('text/html') == -1:
    res.close()
    return None
htmlstring = res.content
res.close()


一般选取小而快的内容时,将 stream 设置为 False ,可快速读取 Response.content内容。


requests  stream  

感谢反馈,已提交成功,审核后即会显示