Python Requests库 - 分块数据与iter_lines

1 投票
1 回答
2488 浏览
提问于 2025-04-17 19:02

这里有没有人对Requests库和HTTP流式传输中的分块数据编码有经验?

我在想,Requests库是不是本身就知道服务器提供的分块大小,并在requests.iter_lines()中使用这个分块大小。我发现如果我减少默认的分块大小,处理速度会更快,但这和服务器返回的数据有什么关系吗?我是不是不应该随便调整这个设置?请注意,我正在实时处理来自DataSift的社交数据流,最后将它们输出到标准输出。

代码如下:

#!/usr/bin/env python

import requests
import json


headers={'Auth': 'username:api_key'}
r = requests.get('http://stream.datasift.com/988098098sd09fsd89fsd0f7',headers=headers, stream=True)

for line in r.iter_lines(chunk_size=128):
    if line: 
        print line

1 个回答

3

看一下源代码(models.py 文件的第 531 行和 31 行),预设的值 512 只是一个“合理的默认值”。

撰写回答