繁体   English   中英

在Chrome扩展程序中获取IP地址

[英]Obtain IP address in a Chrome Extension

我想在Chrome应用中获取用户的IP地址。 Content Security Policy指令阻止我使用IPify等服务或ajax请求,例如:

$.ajax({
    url: 'https://freegeoip.net/json/',
    type: 'POST',
    dataType: 'jsonp',
    success: function(location) {
        alert(location.ip);
    }
});

错误消息是:

拒绝加载脚本' https://freegeoip.net/json/?callback=jQuery21304975464364979416_1442806213407&_=1442806213408 ',因为它违反了以下内容安全策略指令:“ default-src'self'blob:文件系统:chrome-extension-resource: ”。 请注意,未明确设置“ script-src”,因此将“ default-src”用作备用。

谢谢,

为清楚起见,请进行编辑:我正在寻找IP地址,因为它是从全球Internet网络上的服务器而不是本地IP看到的。

嗯,一种可能的方法是使用Chrome API chrome.system.network.getNetworkInterfaces() 这个例子就是这样。

chrome.system.network.getNetworkInterfaces(function(interfaces){
    console.log(interfaces.address);
});

并且在manifest.json文件中,您可能需要授予这样的API权限。

"permissions": [
  "system.network"
]

它确实需要Internet权限,但是唯一的方法是调用返回您的外部IP的Web服务。

我在这个答案中找到了这项服务

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM