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 ...
最新文章
- 保证你现在和未来不失业的10种关键技【转载】
- 人工神经网络秒变脉冲神经网络,新技术有望开启边缘AI计算新时代
- 分治、动态规划、贪婪 之 算法分析
- Ecplise中怎样导入Maven项目
- 关于异常“The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine”的处理...
- Table中Family和Qualifier的关系与区别(转载)
- 但是只要是女生的bibohuaianguandan
- python 读excel一列_Python读取Excel一列并计算所有对象出现次数的方法
- linux系统编程:read,write与lseek的综合应用
- samba在企业网应用
- XML学习总结(一)——XML介绍
- )C# Enum,Int,String的互相转换 枚举转换
- 小区物业管理代码实现_全区58个老旧小区有了新“管家”
- HC05蓝牙点亮LED
- 挖金矿 Java实现
- 200道常见java知识点总结,问题+答案(转)
- 马哥教育42期第五周作业
- 绘图神器draw.io(写文必备)
- 聊聊同步/异步/阻塞/非阻塞(举栗子说明)
- 射频收发信机架构和射频信号介绍
热门文章
- 计算机点击右键管理闪退,Win7系统桌面鼠标右键菜单出现闪退解决方法
- 主板检测卡c5_电脑主板检测卡代码大全
- 不用镜像,也不下载安装包,windows下安装Ruby
- OS X Mavericks 10.9.3 (13D65) 官方原版 懒人版安装镜像
- 腾讯的天天快报凭什么想挑战今日头条?
- 视频教程-网络工程师的5天修炼-软考
- linux flash 存储寿命,关于 Flash 存储,你应该知道的一些事情
- 创建 telegram 账号群组 搜索引擎
- 安卓flash播放器支持Android 12方案
- 转载一些Unity插件及资源