Javascript jQuery$。从https站点获取http
在我的网页上,我集成了一个foscam网络摄像头。在我将我的域从http切换到https之前,它一直很有魅力。问题似乎是不允许您从https站点与非https站点通信(foscam只能通过http进行通信)。如果你从安全的角度考虑,这似乎是完全有道理的,但我想知道是否有办法解决这个问题 要集成网络摄像头,我使用以下脚本:Javascript jQuery$。从https站点获取http,javascript,jquery,ajax,ssl,cross-domain,Javascript,Jquery,Ajax,Ssl,Cross Domain,在我的网页上,我集成了一个foscam网络摄像头。在我将我的域从http切换到https之前,它一直很有魅力。问题似乎是不允许您从https站点与非https站点通信(foscam只能通过http进行通信)。如果你从安全的角度考虑,这似乎是完全有道理的,但我想知道是否有办法解决这个问题 要集成网络摄像头,我使用以下脚本: <script language="JavaScript" type="text/javascript"> function reload() { setT
<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>
这些按钮不再工作,并在控制台中生成以下错误:
混合内容:通过HTTPS加载了“”处的页面,但请求了不安全的XMLHttpRequest终结点“”。
此请求已被阻止;内容必须通过HTTPS.send@jquery.js:8625jQuery.extend.ajax@jquery.js:8161jQuery.(匿名函数)@jquery.js:8306(匿名函数)@webcam:38jQuery.event.dispatch@jquery.js:4430elemData.handle@jquery.js:4116提供
有没有办法解决这个问题?您可能应该将http更改为https:
$("#left").click(function(){
$.get( "https://www.somedomain.nl/decoder_control.cgi?command=6&user=username&pwd=pass&onestep=1",
function( data ) {});
});
编辑::
如何使用https访问的方法:
直接在浏览器中键入port/以登录相机
但此功能需要新固件:
新固件支持HTTPS,提高了您登录相机时的安全性
这里有一个相关的问题(),解释如何通过https公开相机。这是涉及到的,但如果你是通过实际的互联网进行连接,这可能是值得的。谢谢你的建议。使用反向代理让摄像头通过https进行通信确实是正确的方法。谢谢,但摄像头是FI8910W,不支持https。我可以让它使用反向代理通过https进行通信,如本教程中所述:
$("#left").click(function(){
$.get( "http://www.somedomain.nl/decoder_control.cgi?command=6&user=username&pwd=pass&onestep=1",
function( data ) {});
});
$("#left").click(function(){
$.get( "https://www.somedomain.nl/decoder_control.cgi?command=6&user=username&pwd=pass&onestep=1",
function( data ) {});
});