jQuery$.从https站点获取http

jQuery $.get to http from https site

本文关键字:获取 http 站点 https jQuery      更新时间:2023-09-26

在我的网页上,我集成了一个foscam网络摄像头。它就像一个魅力,直到我把我的域从http切换到https。问题似乎是不允许您从https站点与非https站点进行通信(foscam只能通过http进行通信)。如果你从安全的角度考虑,这似乎是完全合理的,但我想知道是否有办法绕过

为了集成网络摄像头,我使用以下脚本:

<script language="JavaScript" type="text/javascript">
function reload()
{
   setTimeout('reloadImg("refresh")',10)
};
function reloadImg(id) 
{ 
   var obj = document.getElementById(id); 
   var date = new Date(); 
   obj.src = "http://www.somedomain.com/snapshot.cgi?user=username&pwd=mypw&t=" + Math.floor(date.getTime()/10); 
} 
@endif
</script>   

<img src="http://www.somedomain.com/snapshot.cgi?user=username&pwd=mypw&t" name="refresh" id="refresh" onload='reload(this)' onerror='reload(this)'> 

这仍然有效(尽管控制台确实显示了类似的错误

混合内容:位于"的页面https://www.somedomain.nl/webcam"通过HTTPS加载,但请求了不安全的映像"http://www.somedomain.nl/snapshot.cgi?user=user&pwd=通过&t=145244729934’。这些内容也应该通过HTTPS提供。

我遇到的真正问题是控制网络摄像头的按钮。为此,我使用如下代码:

 $("#left").click(function(){
             $.get( "http://www.somedomain.nl/decoder_control.cgi?command=6&user=username&pwd=pass&onestep=1",
 function( data ) {});
         });

这些按钮不再工作,并在控制台中生成以下错误:

混合内容:位于"的页面https://www.somedomain.nl/webcam"通过HTTPS加载,但请求了不安全的XMLHttpRequest终结点"http://www.somedomain.nl/decoder_control.cgi?command=2&user=someuser&pwd=通过&onestep=1'。此请求已被阻止;内容必须通过HTTPS.发送@jquery.js:8625jQuery.extend.ajax@jquery.js:8161jQuery

有办法解决这个问题吗?

也许您应该将http更改为https:

 $("#left").click(function(){
             $.get( "https://www.somedomain.nl/decoder_control.cgi?command=6&user=username&pwd=pass&onestep=1",
 function( data ) {});
         });

编辑:链接:

方法如何使用https访问:类型https://cameraip:https在浏览器中直接端口/登录摄像头。

但这个功能需要新的固件:

新固件支持HTTPS,它提高了您登录相机时的安全性。