我正在尝试拨打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密钥Base64转换。在Javascript中将字符串转换为Base64并不简单。我已使用在线工具转换它并将该值分配给encodedString。但是我明白了:
无法加载资源:服务器响应状态为401(未授权)
Reader.html:1 XMLHttpRequest无法加载https://api.outpan.com/v1/products/0796435419035。无效的HTTP状态代码401
答案 0 :(得分:1)
您忘记了冒号和(空)密码。
基本认证的格式为"Basic " + base64(username + ":" + password)
,因此您需要对api密钥进行编码,然后对冒号进行编码。