因为后续样例中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基本认证的更多相关文章

  1. Requests库主要方法解析以及Requests库入门需要掌握的框架

    Requests库主要方法解析以及Requests库入门 1.requests.request(method,url,**kwargs) **kwargs:控制访问的参数,均为可选项 params:字 ...

  2. requests库入门-16-Session和Cookie

    分类专栏: Python接口自动化测试之requests库入门 作者 | Anthony_tester ,300w+访问量博主,Oracle测试开发工程师. 地址 | https://blog.csd ...

  3. requests库入门01-环境安装

    最近在项目中写了一个接口自动化测试的脚本,想要写一些文章来一下,方便自己回头来温习,感兴趣的可以跟着看,先写关于requests库的一些基本操作,然后再写整个框架的搭建.使用的是Python3+req ...

  4. Python 爬虫-Requests库入门

    2017-07-25 10:38:30 response = requests.get(url, params=None, **kwargs) url : 拟获取页面的url链接∙ params :  ...

  5. Requests库入门

    安装: $ pip install requests Response对象的一些基本属性: Response.status_code 请求的返回状态,正常为200 Response.text 页面的字 ...

  6. 第一天 Requests库入门

    Requests库的get()方法 requests.get(url, params=None, **kwargs) ∙ url : 拟获取页面的url链接 ∙ params : url中的额外参数, ...

  7. requests库入门12-文件上传和下载

    因为找不到可以演示上传接口,所以只能纯代码了 文件上传 上传文件是在请求中使用files参数,files需要指向一个dict,然后dict里面的键是接口中对应文件名的字段,而值就是打开这个文件读取到内 ...

  8. Python Requests库入门——应用实例-百度、360搜索关键词提交

    百度的关键词接口: http://www.baidu.com/s?wd=keyword 360的关键词接口: http://www.so.com/s?q=keyword keyword就是需要查找的关 ...

  9. requests库入门笔记1

    1.使用requests库发送请求,fiddler无法抓到包:使用浏览器请求相同的url,可以抓到包 在请求参数中添加 proxies参数,如下: proxies = { 'http': 'http: ...

  10. requests库入门09-OAUTH认证

    实际登陆中,认证用到的token会变的,不过可以在GIthub设置一个私人token. 如图,登录GIthub,然后用户下面选择Settings/Developer settings/Personal ...

随机推荐

  1. maven的安装与基本使用

    一.什么是maven,有什么用? Maven是一个项目构建和管理的工具,其主要服务于基于java平台的项目构建.依赖管理和项目信息管理.它包含了一个项目对象模型 (Project Object Mod ...

  2. 设计模式---状态变化模式之备忘录模式(Memento)

    一:概念 用于保存对象的内部状态,并在需要的时候(undo/rollback)回复对象以前的状态 二:应用场景 如果一个对象需要保存状态并可通过undo或rollback等操作恢复到以前的状态时,可以 ...

  3. spring boot集成redis的血泪史

    首先说明环境不是我搭建的,然后因项目需要添加redis的时候,麻烦来了.springboot 用的是1.5.9因为以前弄过redis,所以直接拿过来,麻烦了首先是莫名的错误,连项目都启动不了.但是最后 ...

  4. ArcGis 制图——地图图框整饰的插件式实现(一)C#

    如有插件定制需求或技术交流,欢迎联系QQ 975601416 写完了自己瞅了一眼都不想看,希望有需要的你能看懂. 先摆一张效果图: 下面进入主题,本篇先讲一下地图布局中的对象,正文中会对一些关键词用英 ...

  5. Python实现工厂模式

    from abc import ABCMeta, abstractmethod from enum import Enum class Person(metaclass=ABCMeta): @abst ...

  6. Kettle系列: Kettle并行执行Trans后的合并问题

    我们在作业开发中为了处理效率, 经常需要并行执行一些trans, 等它们执行完毕后, 需要执行另外一些trans, 从流程上也就是分支+汇合. 粗看起来很简单, Kettle中对接一下这些组件就搞定了 ...

  7. VS WebDev.WebServer40

    vs2010下有一个WebDev.WebServer40工具,可以直接拿来当服务器用,这样就不用再安装iis了.位置在 C:\Program Files (x86)\Common Files\micr ...

  8. C# WinForm 多线程 应用程序退出的方法 结束子线程

    1.this.Close(); 只是关闭当前窗口,若不是主窗体的话,是无法退出程序的,另外若有托管线程(非主线程),也无法干净地退出: 2.Application.Exit(); 强制所有消息中止,退 ...

  9. Docker 创建 mongo 容器

    获取 docker 认证 mongo 镜像: docker pull mongo 创建运行 mongo 容器: docker run -d -it -p : --name mongo3 -m 512M ...

  10. 数据库设计理论与实践·<三>物理设计

    一.物理设计核心任务与关键细节 二.物理设计经验之谈 1.数据类型的设计:建议字段数据类型定义时结合以下几点(以MYSQL为例) 1)不适用image,而使用varbinary等 2)不使用text和 ...