java任务运行报401错误原因_401的错误分析-程序员宅基地

技术标签: java任务运行报401错误原因  

在接口的测试中,经常会遇到客户端向服务端发送一个请求,服务端返回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的认证的认证信息,如果在浏览器中访问,会直接弹出需要输入用户名和密码的弹出框,见截图:

b2e864f7b22748dda21408480f7a4f38.png

那么在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

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_42522626/article/details/114833903

智能推荐

Flink安装及配置_windows下怎么配置flink-conf.yaml-程序员宅基地

文章浏览阅读1.9k次。Flink安装及配置搭建单机模式1.下载Flink,要匹配自己的hadoop版本和Scala版本2.将Flink上传到虚拟机中解压tar -zxvf flink-1.7.2-bin-hadoop28-scala_2.11.tgz3.配置环境变量 vi /etc/profile#Filnk-1.7.2export FLINK_HOME=/root/apps/flink-..._windows下怎么配置flink-conf.yaml

公开密匙(public key)和专用密匙(private key)_publickey privatekey-程序员宅基地

文章浏览阅读6.4k次。在上次文章的最后我们提到了公开密匙和专用密匙在HTTPS中的使用,那么他们究竟是如何工作的呢?公开密匙顾名思义就是公开化的,他是能被任何人使用的;相反的专用密匙是私有的。例如:如何韩梅梅(MeiMei Han)想要和李雷(Lei Lee)分享一些私密的信息,并且这些信息很私密MeiMei只想让Lei自己看到,所以她就使用Lei的公开密钥对信息进行加密,当Lei收到被公开密匙_publickey privatekey

SLF4J_slf4j top-程序员宅基地

文章浏览阅读162次。每一个Java程序员都知道日志对于任何一个Java应用程序,尤其是服务端程序是至关重要的,而很多程序员也已经熟悉各种不同的日志库如java.util.logging、Apache log4j、logback。但如果你还不知道SLF4J(Simple logging facade for Java)的话,那么是时候去在你项目中学习使用SLF4J了。在这篇文章中,我们将学习为什么使用SLF4J比l_slf4j top

程序员生存定律——成长路上常见的坑_程序执行效率常见坑-程序员宅基地

文章浏览阅读658次。程序员生存定律——成长路上常见的坑2014-7-8 10:09| 发布者: 小isabella| 查看: 2549| 评论: 6|原作者: leezy_2000|来自: CSDN摘要: 1. “博”与“专”上的迷失 2. 错过人生中的好时机 3. 停止知识更新1. “博”与“专”上的迷失_程序执行效率常见坑

springmvc报错 org.springframework.web.servlet.DispatcherServlet_org.springframework.web.servlet.dispatcherservlet.-程序员宅基地

文章浏览阅读3k次。http://www.cnblogs.com/lyy-2016/p/5898537.html#undefined在写springMVC时,导入所有需要的包后,运行程序,控制台报以下错误:严重: Servlet [springDispatcherServlet] in web application [/SpringMVC-1] threw load() exception_org.springframework.web.servlet.dispatcherservlet.triggeraftercompletionwith

STC8H8K64U 的 USB 功能测试(未成功)_stc8h8k64u usb插上电脑无法识别-程序员宅基地

文章浏览阅读1.1k次,点赞2次,收藏3次。对 STC8H8K64U 的 USB 功能测试, 因为存在很多问题并且未能解释/解决, 就不写到系列里了, 把记录放上来抛砖引玉吧. 也许是使用的方法不对, 这些记录对其他人也许会有帮助. 待有更多资料再试_stc8h8k64u usb插上电脑无法识别

随便推点

web相关_org.directwebremoting.webcontext哪个jar包-程序员宅基地

文章浏览阅读514次。问题:1.浏览器上先看了一个图片,之后服务器上更新了,客户没有清理缓存,怎么处理让它更新(服务器)。 2.一次请求10个图片,但浏览器有时限制只能打开4个,怎么可以迅速打开。 3.原子类型的实现原理(是用SYNCOESNIZE) 4.数据库一个ID被删除了,代码中还是用ID来取,怎么处理。 5.事务的等级定义 6.web服务器加载了一个配置文件,当此配置文件改变后,如何保证web服务器不停止的_org.directwebremoting.webcontext哪个jar包

关于java.io.FileNotFoundException: class path resource [spring/springmvc.xml]异常的问题解决-程序员宅基地

文章浏览阅读3.1w次,点赞3次,收藏9次。 web.xml配置文件如下图所示:但是老是报出以下的异常:org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from class path resource [org.spring/applicationContext.xml]; neste..._java.io.filenotfoundexception: class path resource [org/springframework/web/

全文检索技术—Solr-程序员宅基地

文章浏览阅读8.3k次,点赞6次,收藏51次。Solr是Apache组织出品的,一个全文检索引擎系统. Solr作用: solr放在tomcat下就能独立运行,因为它是一个现成的系统. 它通过http对外提供全文检索服务,(对索引和文档的增删改查), 它内部提供通过浏览器就能访问的维护界面. 我们如果在企业中开发, 使用它的客户端工具solrJ(就是一个jar包) ,来远程调用solr服务端,服务端对索引库和文档库操作。..._solr

android 使用ffmpeg 并调用接口_android中ffmep-程序员宅基地

文章浏览阅读1.1k次。http://blog.csdn.net/kaven826/article/details/14517189由于最近要做一个音频视频合成的东东,经过各方面的资料查找,开始锁定javaCV,想用它搞定音视频合成的问题。可后来用javacv出现了很多问题,发邮件给javacv的作者,也没有得到很好的答案,后来逼于无奈只好移植ffmepg到andorid,在android上使用ffmpeg合成音_android中ffmep

第二十六节 class 与 struct的默认权限区别_class权限-程序员宅基地

文章浏览阅读3.3k次,点赞3次,收藏2次。/* class和struct最大的区别:默认权限不同 * class:成员的默认权限是private * struct:成员默认权限为public, 继承也默认为public继承*/class Human { char* name; //默认为private成员 int age; Human(const char* initString); //默认为private成员 ..._class权限

做题-程序员宅基地

文章浏览阅读90次。  来源:微软笔试题。  6、How many times is f() called when calculating f(10)?(5 Points)int f(int x) { if(x <= 2) return 1; return f(x - 2) + f(x - 4) + 1; } A、..._how many times is f() called when calculating f(10)? int f(int x) { if(x <=