我正在尝试调用 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/