ReadyApi为什么授权标头不起作用,但基本的auth选项卡确实如此

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ReadyApi为什么授权标头不起作用,但基本的auth选项卡确实如此相关的知识,希望对你有一定的参考价值。

我正在尝试重新创建一个我在Ready-API中使用的REST调用,但是有问题。

如果我在ReadyAPI中发出GET请求并使用UI中的AUTH选项卡,并使用用户名和密码将其设置为Basic,并选中“USE GLOBAL PREFERENCE”,则它可以正常工作。但是,如果我选择“先发制人验证”,它就会失败。

同样在readyAPI中如果我插入带有base64编码字符串的Authorization标头,而不是使用“Auth”选项卡,它也会失败。这适用于我尝试与之交谈的其他服务器,但不适用于此服务器。

我试图通过授权标题找出它失败的原因。因为我试图用java和restTemplate进行相同的调用。

就像是:

    String plainCreds = username + ":" + password;
    byte[] plainCredsBytes = StringUtils.getBytesUtf8(plainCreds);
    String base64Creds = Base64.encodeBase64String(plainCredsBytes);

    httpHeaders = new HttpHeaders();
    httpHeaders.add(HttpHeaders.AUTHORIZATION, "Basic " + base64Creds);

当使用Auth选项卡与“使用全局首选项”使Readyner成功时,ReadyAPI的做法有何不同?我怎么能用Java做到这一点?

答案

“basic”的身份验证方案需要通过方案名称的适当大小写来传递:

httpHeaders.add(HttpHeaders.AUTHORIZATION, "Basic " + base64Creds);

https://tools.ietf.org/html/rfc7617第2节“基本”认证方案

以上是关于ReadyApi为什么授权标头不起作用,但基本的auth选项卡确实如此的主要内容,如果未能解决你的问题,请参考以下文章

Polymer.js iron-ajax 标头基本授权不起作用

赛普拉斯版本更新后标头授权不起作用

授权标头在获取中不起作用 - React Native

c# httpclient 授权标头对我不起作用?

CORS过滤在“授权”标头中不起作用[重复]

使用标头参数的邮递员授权工作但不适用于 Axios 标头