requests库入门04-http基本认证
因为后续样例中GitHub都需要提供认证,所以先写关于基本认证的
http的请求中,有一些请求是需要通过授权认证之后才会响应,授权认证就是检查用户名和密码的过程。http有一个基本认证方式,在认证的过程中,客户端需要把用户名和密码发给服务器,服务器收到并检查通过后才会响应请求,不通过返回401状态码,提示未授权或者授权失败
以GitHub提供的查询用户信息的接口为例,需要有GitHub的账号,没有请自行注册先。GitHub用户接口文档
requests基本认证方式在请求中添加auth参数就行
import requests test_url = 'https://api.github.com' def get_url(url):
return '/'.join([test_url,url]) def get_user():
r = requests.get(get_url('user'),auth=('username','password'))
print(r.status_code)
print(r.text)
print(r.request.headers) get_user()
请把username,password换成自己GitHub账户的用户名和密码
get_url()是封装的拼接url的方法,毕竟实际接口测试中,前面一部分的url是不变的,就是最后一些是不同的。
第三行是把请求头的头部信息打印出来了,截图我没截全,找到最后的一个字段Authorization这个
用户名和密码就在这个字段中,只不过是经过64位编码之后传的,不过这样的编码方式防君子不防小人
把basic空格后面一直到分号之间的字符串拷贝出来,用变量s接收后,执行下面的代码,看下打印出来的是什么
需要先import base64
print(base64.b64decode(s))
可以看出来这种加密方式并不安全,一般都是用在不是很关键的地方
requests库入门04-http基本认证的更多相关文章
- Requests库主要方法解析以及Requests库入门需要掌握的框架
Requests库主要方法解析以及Requests库入门 1.requests.request(method,url,**kwargs) **kwargs:控制访问的参数,均为可选项 params:字 ...
- requests库入门-16-Session和Cookie
分类专栏: Python接口自动化测试之requests库入门 作者 | Anthony_tester ,300w+访问量博主,Oracle测试开发工程师. 地址 | https://blog.csd ...
- requests库入门01-环境安装
最近在项目中写了一个接口自动化测试的脚本,想要写一些文章来一下,方便自己回头来温习,感兴趣的可以跟着看,先写关于requests库的一些基本操作,然后再写整个框架的搭建.使用的是Python3+req ...
- Python 爬虫-Requests库入门
2017-07-25 10:38:30 response = requests.get(url, params=None, **kwargs) url : 拟获取页面的url链接∙ params : ...
- Requests库入门
安装: $ pip install requests Response对象的一些基本属性: Response.status_code 请求的返回状态,正常为200 Response.text 页面的字 ...
- 第一天 Requests库入门
Requests库的get()方法 requests.get(url, params=None, **kwargs) ∙ url : 拟获取页面的url链接 ∙ params : url中的额外参数, ...
- requests库入门12-文件上传和下载
因为找不到可以演示上传接口,所以只能纯代码了 文件上传 上传文件是在请求中使用files参数,files需要指向一个dict,然后dict里面的键是接口中对应文件名的字段,而值就是打开这个文件读取到内 ...
- Python Requests库入门——应用实例-百度、360搜索关键词提交
百度的关键词接口: http://www.baidu.com/s?wd=keyword 360的关键词接口: http://www.so.com/s?q=keyword keyword就是需要查找的关 ...
- requests库入门笔记1
1.使用requests库发送请求,fiddler无法抓到包:使用浏览器请求相同的url,可以抓到包 在请求参数中添加 proxies参数,如下: proxies = { 'http': 'http: ...
- requests库入门09-OAUTH认证
实际登陆中,认证用到的token会变的,不过可以在GIthub设置一个私人token. 如图,登录GIthub,然后用户下面选择Settings/Developer settings/Personal ...
随机推荐
- MySQL常见报错汇总
1>.ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it canno ...
- 利用curl 实现URL监控
#curl 命令介绍 curl命令在运维中经常使用,但运维中常用的参数也并不多,因此也是列表如下 -I/--head 显示响应头信息 -m/--max-time <seconds> 访 ...
- Java工具之上传文件
4个代码 1.前端JSP 2.自定义异常类 3.文件上传抽象类 4.Servlet 1.JSP <%@ page contentType="text/html;charset=UTF- ...
- JDBC-DBCP
依赖 pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns=" ...
- functools学习记录
装饰器demo def wrapper(func): print('装饰器工作了') def inner(*args,**kwargs): return func(*args,**kwargs) re ...
- Java同步注解:@ThreadSafe、@Immutable、@NotThreadSafe、@GuardedBy
Java并发编程中,用到了一些专门为并发编程准备的 Annotation.主要包括三类: <dependency> <groupId>net.jcip</groupId& ...
- Windows 常用的运行命令
1. 打开程序 1) calc 计算器 2) notepad 记事本 3) write ...
- 【PgSQL安装(含配置)】PostgreSQL简称PgSQL,是1980以加利福尼亚大学开发的DBMS,严格遵守标准SQL。
[下载地址]http://www.enterprisedb.com/products-services-training/pgdownload#windows …………………………………………………… ...
- luogu P3234 [HNOI2014]抄卡组
传送门 nmdwsm 自己看吧,不想写了qwq 垃圾代码如下 和题解完全不一样 #define LL long long #define uLL unsigned long long #define ...
- PHP7语法知识(四):目录文件操作、Cookie与Session、MySQL数据库的使用、Redis数据库、PHP处理XML与JSON
目录文件操作 一.目录 1.判断文件类型: 2.创建和删除目录: 3.打开读取和关闭目录 4.获得路径中目录部分 5.目录磁盘空间 二.文件操作 1.打开文件: 2.读取文件: 3.获得文件属性: 4 ...