關于python request請求出現時間過長的處理
1. 問題:
使用 python requests get請求 https://m.ximalaya.com/down,執行下載,并對內容進行處理,出現時長大與900多秒,影響性能
2. 問題復現
- 運行代碼:
import requests import time url = "https://m.ximalaya.com/down" start = time.time() res = requests.get(url) a = res.content print(time.time() - start) start = time.time() res.text print(time.time())
- 運行結果:

3. 問題分析:
-
requests.get(url) 10s 左右, 可以接受
-
再由字節碼轉為text,910秒,花費時間過程 => 造成程序過慢
-
同時通過下面源碼,發現每調用一次 res.text 需要一次編碼轉譯,造成時間成倍增加

4. 解決方案:
- poc 插件對請求相應header 做類型判斷,丟棄適當的類型(二進制,word,execl,ppt, pdf,音頻,視頻,圖片等文件)
- 在插件分析過程中,避免減少過程調用 .text 次數
- 在插件分析請求返回body過程中,使用字節碼分析,代替文本格式分析

浙公網安備 33010602011771號