requests库入门-14-HTTP基本认证
本篇介绍HTTP基本认证,在HTTP请求过程中,有些请求是对外开放的,任何人都可以请求得到数据,有些请求是需要授权才能得到响应的。授权其实就是一个检查用户名和密码的过程,这个在HTTP中有一种基本认证方式,就是需要客户端给服务器端发送用户名和密码,服务器拿到用户名和密码之后去校验,如果校验通过,就给我客户端发送响应内容。如果校验失败,就返回HTTP错误代码401,提示未授权或者授权验证失败。
1.HTTP基本认证画图表示
根据上面的图,很好理解,客户端发送一个受保护资源的请求,服务端收到请求后,需要客户端提供用户名和密码,客户端把用户名和密码发送给服务器。服务器拿到用户名和密码就去验证,只有验证通过才给客户端发送请求响应内容。
2.利用requests来了解认证的实现过程。
import requestsBase_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认证,比基本认证要安全很多。
requests库入门-14-HTTP基本认证相关推荐
- python中requests库入门及写入文件
1.python中requests库入门 import requests r = requests.get("https://www.baidu.com") print(r.sta ...
- python requests库作用_python Requests库入门
一.Requests 库的安装 对Requests库 了解更多请移步:http://www.python-requests.org 安装操作: win平台:"以管理员身份运行" c ...
- Python爬虫Requests库入门及HTTP协议
HTTP协议 HTTP,Hypertext Transfer PRotocol,超文本传输协议 HTTP是一个基于"请求于响应"模式的,无状态的应用层协议 HTTP协议采用URL作 ...
- Python网络爬虫与信息提取—requests库入门
requests的学习笔记 requests库自动爬取HTML页面,自动网络请求提交 此博客为中国大学MOOC北京理工大学<Python网络爬虫与信息提取>的学习笔记 requests库的 ...
- 第一天 Requests库入门
Requests库的get()方法 requests.get(url, params=None, **kwargs) ∙ url : 拟获取页面的url链接 ∙ params : url中的额外参数, ...
- requests库入门09-OAUTH认证
实际登陆中,认证用到的token会变的,不过可以在GIthub设置一个私人token. 如图,登录GIthub,然后用户下面选择Settings/Developer settings/Personal ...
- requests库入门-13-如何下载一个图片资源
前面一篇文章介绍了response对象的一些常用API,也已经提到,我们的重点是对response对象的操作.主要的操作就是数据分析和提取,一般来说,数据有很多种,有字段,有图片,有视频,有音频,凡是 ...
- 嵩天python爬虫百度云盘_基于MOOC嵩天《Python网络爬虫与信息提取》视频学习记录——第一周:requests库...
1.requests库入门 requests的get( )方法 在这里插入图片描述 爬取百度网页实例: import requests r = requests.get("http://ww ...
- 爬虫笔记(一)——Requests库
文章目录 写在前面 一.Requests库入门 1.Requests库的安装 (1)安装Requests库 (2)测试Requests库 2.Requests库的get()方法 (1) get()方法 ...
- python网络爬虫与信息提取嵩天百度网盘_基于MOOC嵩天《Python网络爬虫与信息提取》视频学习记录——第一周:requests库...
1.requests库入门 requests的get( )方法 爬取百度网页实例: import requests r = requests.get("http://www.baidu.co ...
最新文章
- ASP.NET2.0 ReportingServices使用详解
- ARP命令详解--网络命令详解二
- 【微信小程序企业级开发教程】订阅消息功能
- linux deepin安装virtualbox 6.1命令
- 树莓派移植SX1278 LoRa通信--使用wiringPiSPI移植SPI通信接口
- 十二个球称三次C语言编程,十二个球,有一个不知轻重,现有一个天平,称三次,找出此球!...
- python中cookies怎么用_Cookie在python爬虫中怎么用?Cookielib又是什么?
- 实验一 命令解释程序的编写
- AndroidStudio_android多线程和异步任务_要学内容介绍_相关知识点---Android原生开发工作笔记241
- 便利店小程序需要服务器吗,便利店开发小程序的功能
- 【数学之美】豆瓣9.1 颠覆世界的混沌理论
- android怎样开启root权限管理,【经验】安卓手机怎么开启Root权限?
- 个人作业4 结对开发地铁
- 设计模式-抽象工厂模式
- Maven之pom.xml配置文件详解
- iOS xxx is missing from working copy
- 你知道Java程序猿工资有多少吗?
- Taro(React)实现具有滚动效果的倒数计时器
- SAP Data Service 4.2 下载及安装教程
- excel中的FV函数、PMT函数与PV函数的java实现