request取值相关

Posted zh-xiaoyuan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了request取值相关相关的知识,希望对你有一定的参考价值。

发送数据格式与对应接收方法

方式一:
    request.post(
        url=xx,
        data={k1:v1,k2:v2}
    )
    #数据:  POST /  http1.1
Content-type:urlencode-form.......

k1=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
Content-type:application/json....

{‘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
....

k1=v1&k2=v2
    
    
    request.post(
        url=xx,
        data=json.dumps({k1:v1,k2:v2})
    )
    #数据:  POST /  http1.1
....

{‘k1‘:‘v1,‘k2‘:‘v2‘}
    
    request.post(
        url=xx,
        data=basdfasdf
    )
    #数据:  POST /  http1.1
....

‘asdfasdf‘
json:
    request.post(
        url=xx,
        json={k1:v1,k2:v2}
    )
    #数据:  POST /  http1.1
Content-type:application/json....

{‘k1‘:‘v1,‘k2‘:‘v2‘}

 

以上是关于request取值相关的主要内容,如果未能解决你的问题,请参考以下文章

django.core.exceptions.ImproperlyConfigured: Requested setting DEFAULT_INDEX_TABLESPACE的解决办法(转)(代码片段

C#-WebForm-★内置对象简介★Request-获取请求对象Response相应请求对象Session全局变量(私有)Cookie全局变量(私有)Application全局公共变量Vi(代码片段

Request.Form怎样取值

php的 $_REQUEST取值为空

推进学说代码片段

asp.net Request.Files 取值问题