關於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過程中,使用字節碼分析,代替文本格式分析

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM