python request
python request
a. 客户端向服务端发送多层字典的值
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
obj = { 'data':{ "k1":"v1", "k2":"v2" }, 'status': True}#json发送 requests.post("http://www.baidu.com",json=obj) #发送数据内部默认处理(会在内部把字典obj json.dumps序列成字符串,发送给服务端) body: json.dumps(obj) headers= {'content-type':'application/json'} #默认加入 #只有设置如下请求头request.post才能接受,但不能接受多层字典的数据 headers= {'content-type':"application/x-www-form-urlencoded"}#接受上面格式发送的数据if request.method == 'POST': obj = json.loads(request.body.decode('utf-8')) |
b. request.post 和request.body
|
1
2
3
4
5
6
|
#接受requests.boby - 请求体原生的值requests.POST - 根据特殊的请求头从requests.boby获取数据,不能接受多层字典的数据 |
c. 三者相等
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
#方式一:requests.post("http://www.baidu.com",json=obj)#方式二:requests.post( url="http://www.baidu.com", headers={'content-type':'application/json'}, data=json.dumps(obj))#方式三():requests.post( url="http://www.baidu.com", headers={'content-type':'application/json'}, data=bytes(json.dumps(obj),encoding="utf-8")) |

浙公网安备 33010602011771号