NTLM与邮递员显示"JSONError | Unexpected token '<' at 1:1 "



我有脚本通过从CSV文件获取数据并将JSON响应与POSTMAN中CSV文件中的数据进行比较来进行API自动化。我有 12 个场景/迭代要验证,每个场景从 CSV 文件和 JSON 响应中发送 20 多个数据,比较了 10 多个数据。一切正常。

现在安全功能在代码中实现,所以我必须发送请求并使用 ID/PWD 自动化脚本。所以我使用了带有ID和PWD的NTML身份验证。

当我使用运行器运行脚本时,最初的两次迭代给出了完美的响应并且脚本通过了,然后从第三次迭代开始,所有脚本都失败并且没有得到响应。作为回应,它说当我在邮递员控制台中检查数据不可用时,它显示了以下详细信息。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
<title>401 - Unauthorized: Access is denied due to invalid credentials.</title>
<style type="text/css">
<!--
body{margin:0;font-size:.7em;font-family:Verdana, Arial, Helvetica, sans-serif;background:#EEEEEE;}
fieldset{padding:0 15px 10px 15px;} 
h1{font-size:2.4em;margin:0;color:#FFF;}
h2{font-size:1.7em;margin:0;color:#CC0000;} 
h3{font-size:1.2em;margin:10px 0 0 0;color:#000000;} 
#header{width:96%;margin:0 0 0 0;padding:6px 2% 6px 2%;font-family:"trebuchet MS", Verdana, sans-serif;color:#FFF;
background-color:#555555;}
#content{margin:0 0 0 2%;position:relative;}
.content-container{background:#FFF;width:96%;margin-top:8px;padding:10px;position:relative;}
-->
</style>
</head>
<body>
<div id="header"><h1>Server Error</h1></div>
<div id="content">
<div class="content-container"><fieldset>
<h2>401 - Unauthorized: Access is denied due to invalid credentials.</h2>
<h3>You do not have permission to view this directory or page using the credentials that you supplied.</h3>
</fieldset></div>
</div>
</body>
</html>

可能是什么原因和解决此问题的任何解决方案。

屏幕短片

使用带有 ID/PWD 的 NTLM 身份验证 [BETA] 授权选项

以下是通行证方案的详细信息

Request Headers:
content-type:"application/json"
cache-control:"no-cache"
user-agent:"PostmanRuntime/7.1.5"
accept:"*/*"
host:"xxxxxx"
accept-encoding:"gzip, deflate"
content-length:599
authorization:"NTLM TlRMTVNTUAADAAAAGAAYAFIAAAAYABgAagAAAAAAAABIAAAACgAKAEgAAAAAAAAAUgAAAAAAAACCAAAABYKIogUBKAoAAAAPUAAzAFcATABJAPxv7ESeMEwAAAAAAAAAAAAAAAAAAAAAAHZECYztsK+qnjG5K0DvDIPzQ09CFXWo0Q=="
Request Body:
Response Headers:
transfer-encoding:"chunked"
content-type:"application/json; charset=utf-8"
location:"xxxxxx/api/rate/zzz"
server:"Kestrel"
persistent-auth:"true"
date:"Wed, 06 Jun 2018 13:40:05 GMT"
Response Body:
rate:5
retailRateAttributes:
error:null

以下是失败方案的详细信息

Request Headers:
content-type:"application/json"
cache-control:"no-cache"
authorization:"NTLM TlRMTVNTUAADAAAAGAAYAFIAAAAYABgAagAAAAAAAABIAAAACgAKAEgAAAAAAAAAUgAAAAAAAACCAAAABYKIogUBKAoAAAAPUAAzAFcATABJAPxv7ESeMEwAAAAAAAAAAAAAAAAAAAAAAHZECYztsK+qnjG5K0DvDIPzQ09CFXWo0Q=="
user-agent:"PostmanRuntime/7.1.5"
accept:"*/*"
host:""xxxxxx""
accept-encoding:"gzip, deflate"
content-length:599
Request Body:
Response Headers:
content-type:"text/html"
server:"Microsoft-IIS/10.0"
www-authenticate:
0:"Negotiate"
1:"NTLM"
date:"Wed, 06 Jun 2018 13:40:05 GMT"
content-length:"1293"
Response Body:

虽然 Postman 错误不是最具描述性的,但发生此错误通常是因为您的 API 终端节点不存在。您可能需要检查是否正确调用了相应的终端节点

你说前两次迭代工作正常,但当你到达第三次迭代时,得到错误。这听起来像是身份验证/令牌/会话已过期。

我收到邮递员错误消息JSONError: Unexpected token '<' at 1:1<!doctype html>^今天.
我意识到问题(就我而言(是我试图访问一个 API 我自己写的,但忘记上传。- 因此,我尝试调用一个 API 那并不存在。(!)

一旦我上传了API,错误就消失了。

相关内容

最新更新