标签:data 数据 sid hone 知识点 rom username 转化 tms
发送数据格式与对应接收方法
方式一: request.post( url=‘xx‘, data={‘k1‘:‘v1,‘k2‘:‘v2‘} ) #数据: POST / http1.1\r\nContent-type:urlencode-form.......\r\n\r\nk1=v1&k2=v2 request.POST必然可以获取到值。 - content-type: urlencode-form - 数据格式:k1=v1&k2=v2 方式二: request.post( url=‘xx‘, json={‘k1‘:‘v1,‘k2‘:‘v2‘} ) #数据: POST / http1.1\r\nContent-type:application/json....\r\n\r\n{‘k1‘:‘v1,‘k2‘:‘v2‘} request.body取到的数据是字节格式的,需要转化为字符串,然后进行反序列化就能拿到子弹 字节 = {‘k1‘:‘v1,‘k2‘:‘v2‘} 字节转换字符串 反序列化字符串 -> 字典 request.POST必然不可以获取到值的情况: - content-type: urlencode-form - 数据格式:k1=v1&k2=v2
知识点:
在chrome中如果看到的数据是Form Data ,那么它的数据是如下格式构造出来的 Form Data: phone=861513125555&password=12312312312&oneMonth=1 进行数据伪造的时候: reqeusts.post( url=url, data={ phone:123123123123, password:asdfasdf } ) 如果看到的数据为Request Payload: {"BaseRequest":{"Uin":981579400,"Sid":"zWvteTWqBop4heoT","Skey":"@crypt_2ccf8ab9_a710cf413c932e201987599558063c8e","DeviceID":"e358217921593270"},"Msg":{"Type":1,"Content":"test","FromUserName":"@60eef3f2d212721fda0aae891115aa7a","ToUserName":"@@6a5403f510a3192454ed1afebd78ec6033d5057c9038d7b943b201f0a74987d4","LocalID":"15300708105840758","ClientMsgId":"15300708105840758"},"Scene":0} 进行数据伪造的时候: reqeusts.post( url=url, json={ phone:123123123123, password:asdfasdf } ) 或者: reqeusts.post( url=url, data=bytes(json.dumps({ phone:123123123123, password:asdfasdf }),encoding=utf-8) )
发送的数据与对应发过去的格式:
data: request.post( url=‘xx‘, data={‘k1‘:‘v1,‘k2‘:‘v2‘} ) #数据: POST / http1.1\r\n....\r\n\r\nk1=v1&k2=v2 request.post( url=‘xx‘, data=json.dumps({‘k1‘:‘v1,‘k2‘:‘v2‘}) ) #数据: POST / http1.1\r\n....\r\n\r\n{‘k1‘:‘v1,‘k2‘:‘v2‘} request.post( url=‘xx‘, data=b‘asdfasdf‘ ) #数据: POST / http1.1\r\n....\r\n\r\n‘asdfasdf‘ json: request.post( url=‘xx‘, json={‘k1‘:‘v1,‘k2‘:‘v2‘} ) #数据: POST / http1.1\r\nContent-type:application/json....\r\n\r\n{‘k1‘:‘v1,‘k2‘:‘v2‘}
标签:data 数据 sid hone 知识点 rom username 转化 tms
原文地址:https://www.cnblogs.com/zh-xiaoyuan/p/13288163.html