python http
数据传输
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'} 问题: 同时:POST请求发数据 django:获取不到值?request.POST 发送数据格式: 方式一: 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: 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) ) firefox: 表单数据: JSON: