401的错误分析

- 编辑:大众自然网 -

401的错误分析

  正在接口的测试中,每每会碰到客户端向供职端发送一个哀告,供职端返回401的舛错,那么此日本作品就来解释正在接口测试中怎么阐明以及办理该题目。

  咱们晓畅正在HTTP返回的状况码中,401舛错显露的是被哀告的页面须要用户名和暗号。401的舛错周密的可能描摹为:客户端发送哀告抖到供职端,页面须要验证供职端会返回401的舛错,睹如下的舛错音信:

  Headers

  Content-Type: application/json 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的认证办法,那么正在客户端向供职端发送哀告的时期,带上用户音信,再401的错误分析次哀告可能告捷。正在postman中的Basic auth指定用户名和暗号,睹哀告告捷的音信:

  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-*-

  import requests

  r=requests.get(

  ,

  auth=(wuya,admin))

  print r.text

  或者直接指定HTTPBasic,睹删改后的代码:

  #!/usr/bin/env python

  #-*-coding:utf-8-*-

  import requests

  from requests.auth import HTTPBasicAuth

  r=requests.get(

  ,

  auth=HTTPBasicAuth(wuya,admin))

  print r.text


401的错误分析