Requests模块详解(二)

2020-07-23  本文已影响0人  Aaron_fcff

前言:上一章节已说明了如何请求接口、为接口传递参数的情况。但是日常生活中,大部分接口都需要用到header(请求头部)来说明到访者的身份信息或包含一些其他重要信息。

一、请求头部?

请求头部是告诉服务器以什么格式、身份等访问,就好比你去访问一位朋友家时,需要告诉他你是谁?(token)你带了多少人来?(content-length)以什么形式来?(content-type)等等。

二、为请求添加头部

import requests  # 导入requests库

header = {'Authorization': 'xxx'}  # 如果不传头部
r2 = requests.post('https://xxx.io/user/chains',json={'pageSize':10,'pageIndex':1})
print(r2.json())

返回的是,未登录的提示:{'code': 10001, 'msg': 'User Not Login'},这时候为请求添加头部:
(在requests库中,头部的关键字是headers,以字典的形式传输)

import requests  # 导入requests库

header = {'Authorization': 'xxx'}  # 传头部
r2 = requests.post('https://xxx.io/user/chains',json={'pageSize':10,'pageIndex':1},heaers=header)
print(r2.json())

最后,返回的是{'code': 200, 'msg': 'success', 'data': []},下面说明一下头部中基本关键字的作用

三、响应内容

看到上述的响应结果,{'code': 200, 'msg': 'success', 'data': []},你可能有疑问code:200是什么意思呢?其实它是一种反映接口当前的情况,有几种大类:

image.png
如果你使用r.status_code获取状态码,它仅仅表示接口能请求,并不代表返回你想要的正确的数据;就像上述请求不带请求头部status_code也是200,但是报文中却是显示你未登录。同理,你也可以使用r.raise_for_status()检查类似发生500的情况。当然,你仍然要check报文的内容是否为预想结果。
上一篇 下一篇

猜你喜欢

热点阅读