码迷,mamicode.com
首页 > 其他好文 > 详细

request取值相关

时间:2020-07-12 14:50:29      阅读:78      评论:0      收藏:0      [点我收藏+]

标签: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=basdfasdf
    )
    #数据:  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‘}

 

request取值相关

标签:data   数据   sid   hone   知识点   rom   username   转化   tms   

原文地址:https://www.cnblogs.com/zh-xiaoyuan/p/13288163.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!