zoukankan      html  css  js  c++  java
  • 关于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过程中,使用字节码分析,代替文本格式分析

     

  • 相关阅读:
    Git使用教程与基本原理和Sourcetree基本使用探微
    微博开发笔记上(未完待续)
    Swift入门
    刀哥之指纹识别biometrics
    iOS面试关于http知识点basic-01-http
    SDWebImageInfo
    runloop
    NSOperation类
    java多线程
    java集合类(二)
  • 原文地址:https://www.cnblogs.com/spaceapp/p/14174187.html
Copyright © 2011-2022 走看看