Python 请求库 - 分块数据和 iter_lines

标签 python python-requests

这里的任何人都经历过使用分块数据编码的请求和 HTTP 流。

我想知道 Requests 是否本质上知道服务器提供的 block 大小,并在 requests.iter_lines() 中使用它作为 block 大小。我发现如果我减小默认 block 大小,它的处理速度会更快,但是与服务器发回的内容是否有任何相关性,我不应该胡乱设置它。请注意,我正在实时接收来自 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

最佳答案

查看源代码(models.py 行 53131 ),预配置值 512 只是一个“合理的默认值”。

关于Python 请求库 - 分块数据和 iter_lines,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15401557/

相关文章:

python - requests.post() 返回的结果?

python - 我将如何解释 Python 中的负值?

python - njit numba 函数的高级索引替代方案

python - 在 python 中使用 Pandas 选择特征后返回 DataFrames header

python - 使用 python 请求模块的 Facebook 图形 GET 请求-证书验证失败

python - 响应 503 python 请求

python - 将 ascii 转换为二进制并写入二进制文件 - PYTHON 3.x

python - 一对多 Flask | SQL炼金术

Python 请求 HTTPConnectionPool 和最大重试次数超过了 url

python - 如何使用 key 而不是基本身份验证用户名和密码将 Python 连接到 RESTful API?