Javascript 在UPnP/DLNA浏览中理解CORS

Javascript 在UPnP/DLNA浏览中理解CORS,javascript,ajax,cors,upnp,Javascript,Ajax,Cors,Upnp,我一直在玩土生土长的UPNP/DLNA浏览 我设法做到的是一种基于shell脚本的方法,使用curl查询服务器,使用xsl处理从答案生成html页面 接下来,我想我可以将所有这些构建到javascript/一种交互式浏览器页面中。但是现在我碰到了CORS问题,因为请求是由浏览器预引导的(当使用curl时,它们不是预引导的,服务器不讲CORS,只讲UPnP)。 一些试图获取upnp树根的最简单代码: <html> <head> <script language="ja

我一直在玩土生土长的UPNP/DLNA浏览

我设法做到的是一种基于shell脚本的方法,使用curl查询服务器,使用xsl处理从答案生成html页面

接下来,我想我可以将所有这些构建到javascript/一种交互式浏览器页面中。但是现在我碰到了CORS问题,因为请求是由浏览器预引导的(当使用curl时,它们不是预引导的,服务器不讲CORS,只讲UPnP)。 一些试图获取upnp树根的最简单代码:

<html>
<head>
<script language="javascript">
function newx() {
    var h = new XMLHttpRequest();
    h.open("POST", "http://hcds6106:50001/ContentDirectory/control", true);

    h.onreadystatechange = processme;

    h.setRequestHeader("SOAPACTION",'"urn:schemas-upnp-org:service:ContentDirectory:1#Browse"');

    h.setRequestHeader("Content-Type", "text/xml; charset='utf-8'");

    h.send('<?xml version="1.0" encoding="utf-8"?><s:Envelope xmlns:ns0="urn:schemas-upnp-org:service:ContentDirectory:1" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><ns0:Browse><ObjectID></ObjectID><BrowseFlag>BrowseDirectChildren</BrowseFlag><Filter>*</Filter><StartingIndex>0</StartingIndex><RequestedCount>0</RequestedCount><SortCriteria /></ns0:Browse></s:Body></s:Envelope>');
}

function processme()
{
    alert(this.status);
}
</script>
</head>
<body onload="newx();"/>
</html>
在这种情况下,有没有什么合理的方法可以让我的浏览器跳过CORS的内容,因为服务器不是为它设计的?对于Firefox或任何其他通用用户代理?我不敢相信没有浏览器它会如此简单,而在浏览器中实现交互几乎是不可能的。。。。蒂亚

在这种情况下,有没有什么合理的方法可以让我的浏览器跳过CORS的内容,因为服务器不是为它设计的

没有


如果可能的话,我可以告诉我网站访问者的浏览器跳过CORS内容,让我从他们的网上银行和网络邮件服务以及公司内部网中读取他们的数据。

Thx,但是如果这是访问者的决定呢?而不是你从服务器上禁用cors?我明白。除了用来调整我的浏览器,使其相信服务器会接受我的跨源呼叫之外,别无其他选择……这并不意味着没有,但有很多解决办法;使用php代理,使用nw.js构建应用程序,使用扩展,使用命令行参数禁用浏览器的安全性,等等。我保留了一份用于此类用途的chrome便携副本。好的,谢谢,看起来firefox插件可以完成这项工作
Cross-Origin Request Blocked: The Same Origin Policy disallows reading 
the remote resource at http://hcds6106:50001/ContentDirectory/control.
 (Reason: CORS header 'Access-Control-Allow-Origin' missing).