在接口的测试中,经常会遇到客户端向服务端发送一个请求,服务端返回401的错误,那么今天本文章就来说明在接口测试中如何分析以及解决该问题。

我们知道在HTTP返回的状态码中,401错误表示的是被请求的页面需要用户名和密码。401的错误详细的可以描述为:客户端发送请求抖到服务端,页面需要验证服务端会返回401的错误,见如下的错误信息:

401 UNAUTHORIZED

Headers

Content-Type: application/jsonWWW-Authenticate: Basic realm="Authentication Required"Content-Length: 37Server: Werkzeug/0.11.13 Python/2.7.12Date: Wed, 14 Mar 2018 14:57:24 GMT

{ "error": "Unauthorized access"}

依据错误的信息可以获取到,发送的请求需要有通过HTTP的认证的认证信息,如果在浏览器中访问,会直接弹出需要输入用户名和密码的弹出框,见截图:

那么在HTTP的认证中,经常会被使用到认证方式分别是BASIC认证和DIGEST认证,我们具体来看BASIC的认证方式是一种流行,行业标准的身份验证方式,是在HTTP1.0中指定。主要是指使用用户ID和密码使用Base64编码标准进行编码,并通过HTTP进行传属,只有当用户ID和密码有效时,服务器才允许用户访问。

在我们的案例中,使用的认证方式是BASIC的认证方式,那么在客户端向服务端发送请求的时候,带上用户信息,再次请求可以成功。在postman中的Basic auth指定用户名和密码,见请求成功的信息:

Response (20.345s) - http://localhost:5000/hotel/username/

200 OK

Headers

Content-Type: application/jsonContent-Length: 308Server: Werkzeug/0.11.13 Python/2.7.12Date: Wed, 14 Mar 2018 15:09:33 GMT

{ "datas":

[

{"check in": "2018-03-08 08:20:10","check out": "2018-03-09 14:00:00","identity card": "23012919950425723X","phone": "13484545190","room number": "1104","userid": 1,"username": "李四","vpl": "京AJ3585"}

]

}

当然我们也可以使用requests轻松的解决这部分,见实现的代码:

#!/usr/bin/env python#-*-coding:utf-8-*-

importrequests

r=requests.get('http://localhost:5000/hotel/username/',

auth=('wuya','admin'))print r.text

或者直接指定HTTPBasic,见修改后的代码:

#!/usr/bin/env python#-*-coding:utf-8-*-

importrequestsfrom requests.auth importHTTPBasicAuth

r=requests.get('http://localhost:5000/hotel/username/',

auth=HTTPBasicAuth('wuya','admin'))print r.text

java任务运行报401错误原因_401的错误分析相关推荐

  1. java任务运行报401错误原因,在解释代码时有困难,执行时出现401错误

    匿名用户 这个服务器似乎是HTTP基本身份验证方案的演示. 您必须首先创建一个提供密码的用户. 完成后,当访问受保护的资源时,您需要通过提供HTTP"授权"头来验证请求. 这可以通 ...

  2. 求助了,园子里的高手们,软件运行报401错误

    今天遇到一个破问题 前一天软件还跑得好好的,据说是~~ 今天一进软件报了如下图的一个错误,google,baidu了相当久,也没有找出错误的原因,至今没有找到解决方法. 其实换台电脑又OK了.但是此错 ...

  3. maven 中deploy命令报401错误的原因及解决方案

    在mac版idea使用过程中有时候会出现deploy时候报401错误,如图: 经过详细的论证分析,找到如下原因及解决方案: 原因一.pom 文件李配置的私服仓库地址和settings.xml里配置的用 ...

  4. PostMan和RestTemplate请求/oauth/token获取token报401错误

     报错: "timestamp": "2022-04-28T03:00:27.785+0000", "status": 401, " ...

  5. php图片上传报502,PHPStrom上传文件报502错误原因,_PHP教程

    PHPStrom上传文件报502错误原因, PhpStorm是一个轻量级且便捷的PHP IDE,其自身拥有apache类似的编译器,能够在无Apache的情况下运行,很适合初学PHPStrom的朋友. ...

  6. centos下git clone报401错误解决办法

    1.我们在服务器上直接git clone项目的版本库的时候报401错误! 错误如下:error:The requested URL returned error: 401 Unauthorized w ...

  7. linux语法错误 未预期的文件结尾,centos shell运行报语法错误: 未预期的文件结尾...

    shell脚本启动语法错误syntax error near unexpected token '{ 执行shell脚本时失败,报语法错误,但脚本内容检查正常 原因为该脚本是在非Lin ...

  8. php上传文件502,PHPStrom上传文件报502错误原因

    « PHPStrom上传文件报502错误原因» PhpStorm是一个轻量级且便捷的PHP IDE,其自身拥有apache类似的编译器,能够在无Apache的情况下运行,很适合初学PHPStrom的朋 ...

  9. 401 错误原因和解决方案

    401.1 您未被授权查看该页 HTTP 错误 401.1 - 未经授权:访问由于 凭据无效被拒绝. 出现问题的原因: 计算机用户名ftpname帐号的密码和IIS中记录的不一致. 出现这个问题的原因 ...

最新文章

  1. Linux shell编程学习笔记-----第六章变量和引用
  2. QQ vs 360的战争之我见
  3. MFC-Tab Control控件使用
  4. Android开发之NDK下载与NDK更新
  5. 团队作业-第二周-测试计划
  6. 矩阵连乘问题(c++)
  7. RHEL 6安装中的问题
  8. 读TXT文件带BOM问题
  9. C# 使用PictureBox控件--点击切换图片
  10. 【干货】sql-labs、请求方式、注入类型、拼接方式
  11. MongoDB(Golang)常用复合查询
  12. Android WiFi Dhcp 获取到 IP 和配置的过程
  13. PHP 可变变量的使用
  14. redhat5.4上安装oracle9i
  15. html5手指点击速度,CPS手速测试 - 鼠标点击速度测试插件
  16. java源码医药医疗器械ERP系统医药进销存医药erp微信小程序商城
  17. docker启动镜像命令
  18. 怎么把png格式图片转换成jpg格式?
  19. 【NLP】第10章 使用基于 BERT 的 Transformer 进行语义角色标记
  20. 使用UUID生成32位ID

热门文章

  1. 渗透实战-抓取微信小程序流量包
  2. Java、JSP俱乐部会员管理设计与实现
  3. python colormap_python – 规范Matplotlib中Facecolors使用的Colormap
  4. win10 go1.18.1安装beego和bee遇到的问题
  5. 【洛谷 1348】Couple number
  6. (一)pygame.event详细解析
  7. 单张PPT转成单张PDF的PDF文件怎么设置打印出一页纸有6页PPT
  8. win10 系统备份服务器,Windows10系统备份重要文件的详细步骤
  9. java使用util.logging时在生成log文件同时生成.lck文件
  10. 铂涛集团旗下长租公寓品牌窝趣完成近2亿元B轮融资...