POST参数转为DICT
POST参数转为DICT
- 一、需求说明
- 二、我的解决方案
- 写在最后
一、需求说明
当我们使用requests库编写爬虫时,往往需要抓包分析其中的POST请求参数,然后再将其转为DICT类型。当我看到参数是这样时:
dopost=login&userid=admin&pwd=admin
我心中不由笑开了花:这么简单,何必如此大费周章?对应的DICT不就是这样么:
{'dopost':'login','userid':'admin','pwd':'admin'
}
小明同学,专制各种不服!!!这位嚣张的同学,请听题:
orderType=-1&receUserInfo={"receUserName":"xxx","receUserCardCode":"xxxxxxxxxxxxxxxxxx","receUserCardCodeType":"1","receUserContact":"xxxxxxxxxxx"}&orderInfo=[{"supplierId":"3601","stationMapId":"7301908","endId":"10720428","endTypeId":"1","planId":"2020-04-07%2C07%3A50%2CX0518%2C430923019%2C430103","planDate":"2020-04-07","driveTime":"07:50","arMoney":86,"orderModelId":"1","goBackFlag":"1","orderCount":1,"ticketOrderMoneyInfo":{"orderMoney":76,"feeMoney":4,"yhqVo":{"yhqId":"","yhqMoney":""},"actionInfo":{"reduceActionCode":"","reduceMoney":0}},"insureOrderMoneyInfo":{"orderMoney":10,"inspackInfo":{"inspackId":602,"inspackReduceMoney":2}},"ticketInfo":[{"ticketTypeId":"1","userCadeType":"1","userCardCode":"xxxxxxxxxxxxxxxxxx","userCardName":"xxx","birthday":"1996-08-24","saveUserFlag":"Y","chooseInspackFlag":"Y","premiumInfo":[],"childInfo":{},"userMobile":"xxxxxxxxxxx"}],"discountInfo":{"cbFlag":"N","cbMoney":0,"intAmount":0}}]&schInfo=[{"ticketTypeList":[{"name":"全","price":"76","id":"1"}],"seats":"48","seatAmount":"42","drvTime":"07:50","schCanSellFlag":"1"}]&t=D3EDDEAF8D7C43B9A94C722982B71ED0
emmmm…对不起,打扰了,溜了遛了。
二、我的解决方案
要是我一个一个去打出来,也许情怀是允许的,可是发量可不答应,于是我想了个办法:
# =============================================================================
# POST请求参数转dict
# =============================================================================
import jsonpost = '' # 这里是请求包里的POST参数
post_list = post.split('&') # 把参数转为list
data = {}
for p in post_list:try:data[p.split('=')[0]] = json.loads(p.split('=')[1]) # 如果参数里含有字典等except:data[p.split('=')[0]] = p.split('=')[1] # 如果不含
print(data)
其实就是对字符串的处理,并通过json库来进一步处理。(因为某些参数可能本身包含字典、列表等类型)
写在最后
感谢各位大大的阅读~
POST参数转为DICT相关推荐
- python list转dict_python中将list转为dict
最近在项目中经常遇到将list转为dict形式,之前都只会用for循环,取出list中的每个值,update到dict中. 示例1 scrabble_scores = [(1, "E A O ...
- python把list转成字典_python中将list转为dict
最近在项目中经常遇到将list转为dict形式,之前都只会用for循环,取出list中的每个值,update到dict中. 示例1 scrabble_scores = [(1, "E A O ...
- 将url参数转为json对象
/*** 将url参数转为json对象** @param str* @returns {{}}*/ function parseQueryString(str){arr = [],length = 0 ...
- python bytearray转为byte_Python3 bytearray() 函数详解 将参数转为可变的字节数组
Python3 bytearray() 函数详解 将参数转为可变的字节数组 bytearray()函数的主要用途是将参数转换为一个新的字节数组,它是一个可变的整数序列,它的取值范围是0 <= x ...
- python bytes 改值_Python3 bytes() 函数详解 将参数转为不可变的字节数组
Python3 bytes() 函数详解 将参数转为不可变的字节数组 bytes()函数的主要用途是将参数转换为一个新的字节数组,它是一个不可变的整数序列,它的取值范围是0 <= x < ...
- axios post传递对象_axios的post传参时,将参数转为form表单格式
import axios from 'axios'; import alert from './alert.js'; import Qs from 'qs' //引入qs 时axios的自带模块 le ...
- python 对象转dict_python model对象转为dict数据
在接口通讯里经常遇到这种需求,需要将对象的字段名和值均传至接口, user = User.objects.get(id=1) 笨方法1,没错,我这样写过: di = {} di['username'] ...
- getParameterMap()的返回值为MapString, String[],从其中取得请求参数转为MapString, String的方法如下:...
直接遍历报错:[Ljava.lang.String;@44739f3f Map<String, String> tempMap = new HashMap<String, Strin ...
- 快手sig签名:搜索接口签名破解
sig生成原理:把url问号后面的参数转成dict,同时把form_data参数放在同一个dict,然后对dict进行排序,排序后转成字符串并且加salt,最后进行md5加密就可以了. # -*- c ...
- 快手sig签名,python版,可用于快手关键字搜索结果采集
很多大佬分享了快手sig参数逆向破解的过程,我只是在大佬的基础上把sig加密部分代码转成python. sig生成原理:把url问号后面的参数转成dict,同时把form_data参数放在同一个dic ...
最新文章
- vue根据索引删除数组中的一个对象_Vue实现动态添加或者删除对象和对象数组的操作方法...
- Spring学习笔记15--注解Bean
- 信息系统项目管理师:第9章:项目人力资源管理-章节重点
- condition.await
- 跟别人借钱,你遇到过什么奇葩的借口?
- Linux设备驱动程序(第三版)/深入理解计算机系统(原书第2版)/[Android系统原理及开发要点详解].(韩超,梁泉)百度云盘下载
- pytorch: where、gather函数
- 游标sql server_SQL Server游标教程
- oracle网络加载错误怎么解决,Oracle加载数据库错误解决的方法详细教程
- Purftpd的详细安装配置
- 尚硅谷视频分享_硅谷的女儿分享了她的“书呆子”故事
- 软件测试中的接口分析,软件测试接口测试之管理类—叩丁狼分享
- 新书已经到手《Java程序员,上班那点事儿》正式销售纪念帖
- minigui相关硬件加速添加方法
- 信通方恒资产评估行业快讯:铁矿石供需关系未发生明显变化
- Log4j2跨线程打印traceId
- Datawhale 计算机视觉基础-图像处理(上)-Task01 OpenCV框架与图像插值算法
- OSG 加载 fbx模型 渲染 已解决
- qBittorrent
- 利用Python爬虫抓取猫眼电影排行(BeautifulSoup方式初试手,欢迎改进)
热门文章
- shred如果说它Linux系统是文件粉碎机它就更有名了
- 【转载文章】原 DOS命令学习(从入门到精通)_____附加自己学习笔记
- Vista 如何关闭UAC(用户帐户控制)
- ×××全功能邮件系统(3)
- 金蝶服务器选项没有账套信息,金蝶财务软件帐套属性设置保存和帐套启用报错的解决方法...
- redis数据更新操作
- jmail邮件服务器,ASP Dimac W3 JMail 邮件收发组件函数(JMail使用详解)
- html5 flash播发器,什么时候HTML5视频应该回归到Flash播放器?
- HackTheBox-Magic-Walkthrough
- 热传导方程差分格式 matlab,热传导方程向后差分格式的MATLAB程序