所以我有这个项目可以通过网站访问我的 ip cam 流,但是我的相机接口有一个标头基本身份验证。
我尝试在我的 url 中使用用户凭据,但它不起作用:
http://username:password@192.168.my-ip/
我的密码也包含“@”,所以我用 %40 对它们进行了编码,并尝试了 %2540(用于 % 的编码),也不起作用。
我看到也许像这样的 JS 发布请求可以解决问题,但我不知道在哪里可以找到 clientSecret :
var clientId = "MyApp";
var clientSecret = "MySecret";
// var authorizationBasic = $.base64.btoa(clientId + ':' + clientSecret);
var authorizationBasic = window.btoa(clientId + ':' + clientSecret);
var request = new XMLHttpRequest();
request.open('POST', oAuth.AuthorizationServer, true);
request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
request.setRequestHeader('Authorization', 'Basic ' + authorizationBasic);
request.setRequestHeader('Accept', 'application/json');
request.send("username=John&password=Smith&grant_type=password");
request.onreadystatechange = function () {
if (request.readyState === 4) {
alert(request.responseText);
}
};