Javascript NWJS中的跨域源安全
我试图连接到我的ISP调制解调器以获取一些隐藏数据,所以我创建了一个包含一些javascript的html页面。我使用xmlhttprequest登录到页面,它可以工作,但我无法获取cookie,这是发出请求和获取隐藏数据所必需的。 我读到有了NWJS我可以绕过CORS的限制…但我不知道我做错了什么。。。 我实际使用的是最新的SDK NWJS 0.22.1 这是我的package.json:Javascript NWJS中的跨域源安全,javascript,node.js,cross-domain,nwjs,Javascript,Node.js,Cross Domain,Nwjs,我试图连接到我的ISP调制解调器以获取一些隐藏数据,所以我创建了一个包含一些javascript的html页面。我使用xmlhttprequest登录到页面,它可以工作,但我无法获取cookie,这是发出请求和获取隐藏数据所必需的。 我读到有了NWJS我可以绕过CORS的限制…但我不知道我做错了什么。。。 我实际使用的是最新的SDK NWJS 0.22.1 这是我的package.json: { "main": "index.html", "name": "Liveboxinfos", "
{
"main": "index.html",
"name": "Liveboxinfos",
"description": "test app",
"version": "1.0.0",
"nodejs": true,
"node-remote": "http://192.168.1.1/*",
"permissions": ["*://*/*"],
"chromium-args": "--disable-web-security --user-data-dir",
"window": {
"title": "node-webkit demo",
"icon": "link.png",
"toolbar": true,
"frame": true,
"width": 1200,
"height": 600,
"position": "center",
"min_width": 600,
"min_height": 400,
"max_width": 1200,
"max_height": 600
}
}
下面是my index.html的javascript部分:
var ip = "192.168.1.1";
var password = "password";
var HTTP = new XMLHttpRequest();
var url = "http://" + ip;
var params = '{"service":"sah.Device.Information","method":"createContext","parameters":{"applicationName":"so_sdkut","username":"admin","password":"' + password + '"}}';
HTTP.open("POST", url, false);
HTTP.setRequestHeader("Content-Type", "application/x-sah-ws-4-call+json");
HTTP.setRequestHeader("Authorization", "X-Sah-Login");
HTTP.withCredentials = true;
HTTP.onreadystatechange = function() {//Call a function when the state changes.
if(HTTP.readyState == 4 && HTTP.status == 200) {
//alert(HTTP.responseText);
}
}
HTTP.send(params);
const regex = /contextID":"(.*?)"/;
const Received = HTTP.responseText;
const cookie = HTTP.getResponseHeader("set-cookie");
这是我的测试应用程序,您可以看到cookie=null。。。
这不是CORS。基本上,使用XHR无法从另一个域获取cookie 使用NWJS,您可以简单地使用http.request/http.get来获取cookies
@请参见如果这是真的,那么这里有一点我不明白:他们说:节点帧比普通帧具有以下额外功能:•绕过所有安全限制,如沙箱、同源策略等。例如,您可以对任何远程站点进行跨源XHR