实际登陆中,认证用到的token会变的,不过可以在GIthub设置一个私人token。
如图,登录GIthub,然后用户下面选择Settings/Developer settings/Personal access tokens,点击Generate new token,然后随便输个描述,勾选user这块,然后生成token。这个token可以理解为身份令牌。将生成的token保存下来。
import requestsBase_Url = 'https://api.github.com'def build_uri(end_point):return '/'.join([Base_Url, end_point])def oauth():payloda = {'Authorization' : 'token 自己的token'}# 获取user/email信息response = requests.get(build_uri('user/emails'), headers = payloda )print(response.status_code)print(response.text)print(response.request.headers)oauth()
之前基本认证的时候,打印的请求头信息可以看到用户名密码是存放在Authorization这个字段里的
以Authorization:认证方式 认证数据 这样的形式
使用headers参数定制请求头,需要指向一个dict。在dict中加上Authorization:token 对应的token
headers参数可以用在任意请求方法中,不论是get还是post或是其他
关于用户和邮箱查询相关的接口都可以通过这样的方式来请求。因为私人token只给了这些权限。
有一些项目会给注册后的用户,生成类似用户id这样的token,每次用户做操作的时候,都会在请求头中,把对应的token返回给接口,这样我们在做接口测试的时候,就不需要使用cookie。通过token也能确认是哪个用户做的操作。