Chrome远程调试 - 跨域

时间:2014-04-28 12:23:13

标签: google-chrome google-chrome-devtools remote-debugging

我使用--remote-debugging-port开关打开Chrome远程调试,如here所述。

我有另一个页面在不同的端口上运行(在我的localhost上),并向http://localhost:9222/json发出HTTP请求。这是由于跨域问题(" No Access-Control-Allow-Origin")而失败,因为请求是从不同的端口发出的。

我可以以某种方式更改Chrome远程调试器的localhost服务器标头以支持跨域吗?我只需要找到一种方法从其他主机调用http://localhost:9222/json ...

3 个答案:

答案 0 :(得分:0)

您应该以“allow-file-access-from-files”模式启动Chrome以解决此问题。

有关allow-file-access-from-files模式的更多详细信息,请参阅此处: How to launch html using Chrome at "--allow-file-access-from-files" mode?

答案 1 :(得分:0)

我这样做的方法是使用交换机--disable-web-security运行Chrome,该交换机会覆盖相同原始策略的强制执行。这个解决方案显然有其缺点(例如,通知栏说稳定性和安全性会受到影响)但是对于我的需求,目前似乎还不错。

答案 2 :(得分:0)

我不认为这是可能的。我也需要这个功能。我尝试使用标志" - disable-web-security"来启动chrome(我想调试)。和" - 允许文件访问文件"。当我尝试访问页面" localhost:9222 / json"从另一个港口说" localhost:8000"它抛出错误http://pastebin.com/JHYy8uLk

然而,这可以使用招待请求的中间人(服务器)来完成。 localhost:8000页面可以发送" get"请求此中间人,它将从localhost:9222 / json(不违反相同的原始策略)获取json数据,并将此数据返回到localhost:8000。

由于我的localhost:8000在Django服务器上运行,我可以使用服务器本身从localhost:9222 / json(即django控制器)获取数据。