requests库入门-14-HTTP基本认证

       本篇介绍HTTP基本认证,在HTTP请求过程中,有些请求是对外开放的,任何人都可以请求得到数据,有些请求是需要授权才能得到响应的。授权其实就是一个检查用户名和密码的过程,这个在HTTP中有一种基本认证方式,就是需要客户端给服务器端发送用户名和密码,服务器拿到用户名和密码之后去校验,如果校验通过,就给我客户端发送响应内容。如果校验失败,就返回HTTP错误代码401,提示未授权或者授权验证失败。

1.HTTP基本认证画图表示

         根据上面的图,很好理解,客户端发送一个受保护资源的请求,服务端收到请求后,需要客户端提供用户名和密码,客户端把用户名和密码发送给服务器。服务器拿到用户名和密码就去验证,只有验证通过才给客户端发送请求响应内容。

2.利用requests来了解认证的实现过程。

import requests

Base_Url = 'https://api.github.com'


def build_uri(end_point):
    return '/'.join([Base_Url, end_point])


def basic_auth():

    response = requests.get(build_uri('user'), auth=('xxxxxxx', 'xxxxx'))
    print(response.status_code)
    print(response.text)
    print(response.request.headers)

basic_auth()
运行结果如下:

       我们把请求的头部给打印出来了,注意这里是请求头部,不是响应头部。我们可以看到在请求头部,我们的用户名和密码会放在Authorization这个字段里,里面是一个加密过的字段。这个是64编码加密,我们来利用python自带的包,来对这个加密字段进行解码,看看是什么样子。

1. 我们先把这个加密字段拷贝到一个记事本。

2.打开cmd,输入python,进入python交互式编程环境。

3.输入如下内容。

       好简单吧,如果你知道一个字段是base64加密,那么你就可以用这样方法去解码,得到加密前的字段内容。看起来,HTTP基本虽然有了一定的加密和安全,但是还是不是很安全,下面一篇我们来介绍Oauth认证,比基本认证要安全很多。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值