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过程中,使用字节码分析,代替文本格式分析

     

  • 相关阅读:
    MySQL-数据表操作
    MySQL基础命令
    Navicat 15激活
    禅道-启动失败问题整理
    python-开头的注释作用及区别
    SpringBoot、SpringCloud版本中GA/PRE/SNAPSHOT的详解
    mybatis的一些重要配置
    简历对应的知识点
    idea的破解
    SFTP和FTP的区别
  • 原文地址:https://www.cnblogs.com/spaceapp/p/14174187.html
Copyright © 2011-2022 走看看