$.ajax({
url: "http://10.13.22.150/req_path",
success: function(result){
console.log(result);
}
});
我想将跨域 XMLHttpRequest 发送到专用网络中的 IP 地址。
但是,开发者工具控制台中显示以下错误:
SCRIPT7002:XMLHttpRequest:网络错误 0x2efd,由于错误 00002efd,无法完成操作。
根据Wireshark的说法,数据包不是从客户端发送的。我猜该请求已被 Microsoft Edge 阻止
此外,我发现只有当 XMLHttpRequest 和 Edge 客户端的 url 位于私有网络的同一 CIDR 中时,请求才会被阻止。
Client IP Request URL Result
192.168.x.x send to 192.168.x.x ->>>>> X
10.13.x.x send to 10.13.x.x ->>>>> X
10.13.x.x send to 192.168.x.x ->>>>> O
其他浏览器如 IE11 / Chrome / Firefox 工作得很好。这种情况仅在 Microsoft Edge 中出现。
对于这个问题有什么解决方法或解决方案吗?
From 了解增强保护模式 http://blogs.msdn.com/b/ieinternals/archive/2012/03/23/understanding-ie10-enhanced-protected-mode-network-security-addons-cookies-metro-desktop.aspx
专网资源
由于 EPM 没有声明 privateNetworkClientServer 功能,因此您的 Intranet 资源可以免受多种类型的跨区域攻击(通常称为“跨站点请求伪造 (CSRF)”和“Intranet 端口扫描”)。Internet 页面无法访问构建 Intranet 页面、从中加载图像或资源、向其发送 CORS XHR 请求等。
上述所有内容似乎都适用于 MS Edge。 Edge 唯一缺少的(至少在这一点上,v20.10240)是安全区域设置。
我的问题不在于 XMLHttpRequest,而在于尝试在互联网页面内的 iframe 中加载 Intranet 页面。解决方法涉及更改我的网络设置 - 请参阅https://stackoverflow.com/a/32828629 https://stackoverflow.com/a/32828629
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)