BUG(20) : response.text耗时很久, linux耗时十几秒, Windows耗时零点几秒

场景

python调用接口response.text耗时久

复制代码
            response = requests.get(
                url=url,
                headers=self.headers,
                data=form_data,
                timeout=10
            )
            response.raise_for_status()
            st = time.time()
            result = response.text
            print(f'response.text 耗时:{round(time.time()-st,2)}秒')

原因

response.text 耗时久的核心原因是:

  1. requests 库的响应处理机制response.text 不是简单的读取数据,而是会做编码检测、字符解码等操作,当响应内容很大(你的结果长度 3068758 字符,约 3MB)时,这些操作在不同系统 / 环境下效率差异会被放大。
  2. 系统 / 环境差异:Linux/macOS 与 Windows 的底层 IO、字符处理库、Python 解释器优化程度不同,且可能存在网络 IO 后续处理的延迟。
  3. 代码逻辑计时误差 :你当前的计时位置不准确,把 response.text 的耗时和后续的日志处理混在一起了。

解决

复制代码
            # 明确指定编码,避免requests自动检测编码的耗时
            response.encoding = 'utf-8'
            # 直接用content解码
            result = response.content.decode('utf-8')
相关推荐
程序员龙叔6 小时前
编写高质量 Skill 系列 -- 如何设计需求分析与用例生成的 SKILL
自动化测试·软件测试·python·软件测试工程师·接口测试·性能测试·skill·ai测试
用户8356290780519 小时前
使用 Python 操作 Word 内容控件
后端·python
码云骑士10 小时前
32-慢查询排查全流程(下)-索引优化实战与最左前缀原则
python
闵孚龙11 小时前
《PyTorch 深度修炼》Dataset 和 DataLoader:数据如何喂给模型
人工智能·pytorch·python
goldenrolan11 小时前
A公司物料替代测试系统 v1.7:从需求到 exe/apk 的 AI 辅助全链路实践
android·自动化测试·软件测试·python·ai
菜板春11 小时前
jupyter入门-手册-特征探索
python·jupyter
Metaphor69212 小时前
使用 Python 将 PDF 转换为 HTML
python·pdf·html
极光代码工作室12 小时前
基于数据仓库的电商数据分析平台
大数据·hadoop·python·spark·数据可视化
开发小能手-roy12 小时前
StringBuilder vs StringBuffer:2024年还需要线程安全字符串吗?
开发语言·python·安全