Loading

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")
)
posted @ 2017-08-02 13:42  Meet~  阅读(359)  评论(0编辑  收藏  举报