python解析http数据包_python如何解析HTTP返回的标准数据包-程序员宅基地

技术标签: python解析http数据包  

该篇内容由个人博客点击跳转同步更新!转载请注明出处!

前言

最近有一个需求需要频繁调用xx接口,但这个接口调用次数一多就会给你禁掉,而且一禁就是禁一天的那种,只能通过界面模拟用户操作抓取数据包,然后单独对这些数据包进行处理

具体步骤

首先看下需要格式化的数据包长什么样

数据包

这就是完整的一个数据包,网上基本都是格式化json数据包的,但返回的内容中还包含了头信息等所以不能简单的通过json来格式化,另外头信息中可能还有需要用到的信息内容,不能通过正则直接把头信息给删除只保留下面body中的内容。

我们在这里主要用到了

http.client库中的

HTTPResponse方法来解析数据包内容,具体代码如下:

import os

from http.client import HTTPResponse

from io import BytesIO

#传给HTTPResponse一个模拟的makefile方法

class FakeSocket():

def __init__(self, response_stream):

self._file = BytesIO(response_stream)

def makefile(self, *args, **kwargs):

return self._file

#根据路径遍历出所有数据包文件,并返回对应的文件地址

def all_path(dirname):

result = []#所有的文件

for

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_39986543/article/details/110548998

智能推荐

linux网络下载_liunx网上下载-程序员宅基地

文章浏览阅读372次。网站下载wget 是一个用于文件下载的命令行工具用wget可以下载网页或远程文件:$ wget URL多处URL下载$ wget URL1 URL2 URL3..下载文件输出文件到指定文件$ wget ftp://example.com/somefile.img -o dloaded_file.img -o log指定重试次数$ wget -t 5 URL使用--limit-rate对wget限速$ wget --limit-rate 20k http://.....可以使用k和m指_liunx网上下载

架构师必读 : 微服务架构设计指南-程序员宅基地

文章浏览阅读109次。每个人都听说过微服务。但你知道怎么设计吗? 微服务是当今软件工程师的一个热门话题。让我们了解如何使用微服务架构风格构建真正模块化、业务敏捷的IT系统。一、微服务概念微服务体系结构由轻量级、松散耦合的服务集合组成。每个服务都实现了单个业务功能。理想情况下,这些服务应该是具有足够的内聚性,可以独立地开发、测试、发布、部署、扩展、集成和维护。正式定义 “微服务架构风格是一种将单个应用程序开发为一组小型..._微服务工程师 百度百科

2023-2024年人形机器人行业报告合集(精选397份)_高工 人形机器人报告-程序员宅基地

文章浏览阅读710次,点赞22次,收藏17次。2024人形机器人力传感器行业研究报告:人形机器人商业化图景远大,引爆六维力传感器市场空间。2024机器人行业研究报告:英伟达赋能机器人AI超预期,二季度迎机器人定点最大催化。2024人形机器人的Optimus时刻报告:IMU(姿态感知),旧火新茶,其时已至。2024人形机器人报告:MEMS IMU或为人形机器人实现两足运动平衡的最佳方案。2024人形机器人丝杠报告:丝杠作为人形机器人核心传动部件,正面临新一轮产业机遇。2024人形机器人精密减速器报告:机器人核心部件有望持续受益人形机器人产业带动。_高工 人形机器人报告

【史上最易懂】马尔科夫链-蒙特卡洛方法:基于马尔科夫链的采样方法,从概率分布中随机抽取样本,从而得到分布的近似_马尔科夫链期望怎么求-程序员宅基地

文章浏览阅读1.3k次,点赞40次,收藏19次。虽然你不能直接计算每个房间的人数,但通过马尔科夫链的蒙特卡洛方法,你可以从任意状态(房间)开始采样,并最终收敛到目标分布(人数分布)。然后,根据一个规则(假设转移概率是基于房间的人数,人数较多的房间具有较高的转移概率),你随机选择一个相邻的房间作为下一个状态。比如在巨大城堡,里面有很多房间,找到每个房间里的人数分布情况(每个房间被访问的次数),但是你不能一次进入所有的房间并计数。但是,当你重复这个过程很多次时,你会发现你更有可能停留在人数更多的房间,而在人数较少的房间停留的次数较少。_马尔科夫链期望怎么求

linux以root登陆命令,su命令和sudo命令,以及限制root用户登录-程序员宅基地

文章浏览阅读3.9k次。一、su命令su命令用于切换当前用户身份到其他用户身份,变更时须输入所要变更的用户帐号与密码。命令su的格式为:su [-] username1、后面可以跟 ‘-‘ 也可以不跟,普通用户su不加username时就是切换到root用户,当然root用户同样可以su到普通用户。 ‘-‘ 这个字符的作用是,加上后会初始化当前用户的各种环境变量。下面看下加‘-’和不加‘-’的区别:root用户切换到普通..._限制su root登陆

精通VC与Matlab联合编程(六)_精通vc和matlab联合编程 六-程序员宅基地

文章浏览阅读1.2k次。精通VC与Matlab联合编程(六)作者:邓科下载源代码浅析VC与MATLAB联合编程浅析VC与MATLAB联合编程浅析VC与MATLAB联合编程浅析VC与MATLAB联合编程浅析VC与MATLAB联合编程  Matlab C/C++函数库是Matlab扩展功能重要的组成部分,包含了大量的用C/C++语言重新编写的Matlab函数,主要包括初等数学函数、线形代数函数、矩阵操作函数、数值计算函数_精通vc和matlab联合编程 六

随便推点

java怎么做图形界面_java怎么做图形界面?实例分享-程序员宅基地

文章浏览阅读6.8k次,点赞3次,收藏29次。学习java不仅要学会写程序,也要学会做图形界面,可是做图形界面对于一些刚学java的人员来说还是比较困难的,那么今天我们就给大家分享一下java做图形界面的方法。首先我们来了解一下创建图形界面时常见的组件类和辅助类。(1)容器组件类:容器上能添加其他的组件,那么该组件就是容器组件。如果要实现顶级容器,首先要有一个顶级容器。JFrame 窗体容器组件类(2)元素组件类:一般是用来显示文字,图片或者..._java编写图形界面步骤

eMMC常识性介绍N_emmc温升系数-程序员宅基地

文章浏览阅读4.1k次。原文地址:eMMC常识性介绍N作者:35后时代摘自网络 http://www.up48.com/news.htm eMMC使用厂商 目前针对全球主要手机大厂如诺基亚(Nokia)、三星电子(SamsungElectronics)、摩托罗拉(Motorola)、黑莓(RIM)和乐金电子(LGElectronics)等均已在智能手机或者3G手机等高端产品全面采用e_emmc温升系数

MATLAB算法实战应用案例精讲-【人工智能】机器视觉(概念篇)(最终篇)-程序员宅基地

文章浏览阅读1.4k次。机器视觉逐渐渗入社会生活的方方面面,在人脸识别、图片识别、视频监控、3C应用等各领域几乎都能看到机器视觉的身影,对于工业领域而言,机器视觉的应用更是大大降低了高危作业的危险系数,保障了工业生产的安全性和高效性。

Mac电脑如何串流游戏 Mac上的CrossOver是串流游戏吗 串流游戏是什么意思 串流游戏怎么玩 Mac电脑怎么玩Steam游戏_macos steam和crossover steam区别-程序员宅基地

文章浏览阅读739次,点赞29次,收藏17次。串流游戏,又称云游戏,是一种通过互联网将游戏画面和声音从远程服务器传输到本地设备的技术,让用户可以在任何设备上玩任何游戏,不需要安装游戏,也不需要担心硬件配置和兼容性。如果你是一个Mac电脑的用户,想要在Mac电脑上玩Windows电脑上的游戏,你可以根据你的需求和喜好,选择适合自己的方式,来享受游戏的乐趣。综上所述,我们可以得出结论,Mac电脑可以通过串流游戏的方式,来玩到Windows电脑上的游戏,但是需要选择合适的串流平台,考虑价格、游戏库、性能和兼容性等方面的因素。以下是几款常用的串流游戏平台。_macos steam和crossover steam区别

VS2008+水晶报表 发布后可能无法打印的解决办法_水晶报表 不能打印-程序员宅基地

文章浏览阅读1k次。编好水晶报表代码,用的是ActiveX模式,在本机运行,第一次运行提示安装ActiveX控件,安装后,一切正常,能正常打印,但发布到网站那边运行,可能是一闪而过,连提示安装ActiveX控件也没有,甚至相关的功能图标都不能正常显示,再点"打印图标"也是没反应解决方法是: 1.先下载"PrintControl.cab" http://support.businessobjects.c_水晶报表 不能打印

一. UC/OS-Ⅱ简介_ucos-程序员宅基地

文章浏览阅读1.3k次。绝大部分UC/OS-II的源码是用移植性很强的ANSI C写的。也就是说某产品可以只使用很少几个UC/OS-II调用,而另一个产品则使用了几乎所有UC/OS-II的功能,这样可以减少产品中的UC/OS-II所需的存储器空间(RAM和ROM)。UC/OS-II是为嵌入式应用而设计的,这就意味着,只要用户有固化手段(C编译、连接、下载和固化), UC/OS-II可以嵌入到用户的产品中成为产品的一部分。1998年uC/OS-II,目前的版本uC/OS -II V2.61,2.72。1.UC/OS-Ⅱ简介。_ucos

推荐文章

热门文章

相关标签