javascript - 使用 AJAX/jQuery 在网络摄像机上进行 HTTP 基本授权

标签 javascript jquery ajax http authentication

我知道这个问题之前被问过很多次,但似乎没有一个回答对我有用,所以这是我的问题:

我在内联网中有一台 Sony IP 摄像机。我正在为内部用户构建一个具有 PHP/MySQL 身份验证的站点,以便能够查看 MJPEG 流,但相机本身需要 http 身份验证。我不想让用户输入他们的用户名和密码来登录相机页面,然后必须键入 http 身份验证凭据(在弹出窗口中)才能看到流。我尝试使用 jQUERY 更改 header 无济于事。请记住,摄像机必须有自己的身份验证,这样用户就不能随便输入 IP 就可以看到流。我希望能够控制谁查看什么内容以及何时查看。

我假设如果我在用户登录页面时进行了正确的身份验证调用,那么他们将可以使用该相机,因为他们会“静默”登录。另外,如果我从终端使用 wget 和--headers: "Authorization: blah_Blah"它确实有效,但我不能从 jQuery 做到这一点!这是我的代码:

$.ajax({
    url : "http://some_ip_internally_for_the_cam/some_page_on_cam_that_needs_authentication_to_access_otherwise",
    method : 'GET',
    beforeSend : function(req) {
        req.setRequestHeader('Authorization', "some_base_64_stuff_that_works_in_wget");
    },
    success: function() {
       $("div.log").attr("innerHTML", "ok");
    }
});

这会在用户登录后立即加载。

有什么建议吗?

最佳答案

我在 Firefox 中遇到了同样的 Javascript 错误:

... 0x804b000f (NS_ERROR_IN_PROGRESS) [nsIXMLHttpRequest.setRequestHeader] ...

当我试图在一些 XMLHttpRequest 中设置一个新的 HTTP header 时对象:

xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");

发生错误是因为我试图在 XMLHttpRequest.open() 方法之前设置 HTTP header 。

来源: http://www.webmasterworld.com/forum91/4542.htm

关于javascript - 使用 AJAX/jQuery 在网络摄像机上进行 HTTP 基本授权,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8137521/

相关文章:

javascript - $httpProvider 的转换请求中未定义参数 'data'

php - 使用 PHP 将 Ajax POST 数据保存到文件

javascript - jQuery 导出的文件在 Excel 中打开时显示错误

javascript - Knockoutjs valueHasMutated 无法正常工作

javascript - Bootstrap 3.3 - 导航栏无法在移动设备上运行

javascript - jQuery 验证引擎属性不起作用

Javascript setInterval 方法始终返回与 PHP 方法相同的结果,但我需要更改数据

javascript - 通过 ajax 调用更新选择字段时未选择 Select2

javascript - 如何将函数与await分开

javascript - 与 Q 等效的异步瀑布