javascript - 通过 XMLHttpRequest 的基本身份验证问题

标签 javascript xmlhttprequest basic-authentication

我正在尝试调用 OutPan获取条形码详细信息的服务。

var url = "https://api.outpan.com/v1/products/0796435419035";
var xmlhttp = new XMLHttpRequest();
var encodedString = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx:";
xmlhttp.open("GET", url, true);

xmlhttp.setRequestHeader("Authorization", "Basic " + encodedString);
xmlhttp.send();
var temp = xmlhttp.responseXML;

encodedString 是 API key Base64 转换。在 Javascript 中将字符串转换为 Base64 并不简单。我已经使用在线工具对其进行了转换,并将该值分配给encodedString。但是我得到:

Failed to load resource: the server responded with a status of 401 (Unauthorized)

Reader.html:1 XMLHttpRequest cannot load https://api.outpan.com/v1/products/0796435419035. Invalid HTTP status code 401

最佳答案

您忘记了冒号和(空)密码。

基本身份验证的格式为"Basic "+ base64(用户名 + ":"+ 密码),因此您需要对 api key 进行编码,后跟冒号。

关于javascript - 通过 XMLHttpRequest 的基本身份验证问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31729915/

相关文章:

java - 如何使用 Glassfish 实现基本身份验证?

java - HttpUrlConnection 代理身份验证进入重定向循环

javascript - js.mapit 不工作

javascript - 将字符串拆分为字母数字和其他字符

c# - 如何在.NET服务器端检索Http请求参数

javascript - JavaScript 函数 commit() 和 send() 之间有什么区别?

javascript - 在 Vuejs 中使用带有 Axios 的 HTTP 基本身份验证时出现 401 错误

javascript - 如何从Json结果中获取值

javascript - 在通过meteor的publish方法提供数据之前添加来自另一个mongodb集合的信息

html - 拆分超大 (10+ GB) 文件并将其上传到 Amazon S3