使用javascript获取ip地址

使用javascript获取ip地址,javascript,api,Javascript,Api,我只是想问一下,有没有办法只使用javascript获取ip地址? 我已经搜索了很长一段时间,大部分结果都是我需要使用api。 我用过这个webrtc,它很好用,但在IE上不起作用, API很好,我已经测试了一些,在不同的浏览器中效果很好 但我需要从api中获取代码本身, 或者可以从api本身获取/提取代码,并为源代码生成一个指定的文件,这样我就不会依赖于来自internet的源代码了 我需要api中的原始文件,因为如果api的src发生故障,我的站点也会受到影响,因此我希望它获取并创建一个外部

我只是想问一下,有没有办法只使用javascript获取ip地址? 我已经搜索了很长一段时间,大部分结果都是我需要使用api。 我用过这个webrtc,它很好用,但在IE上不起作用, API很好,我已经测试了一些,在不同的浏览器中效果很好

但我需要从api中获取代码本身, 或者可以从api本身获取/提取代码,并为源代码生成一个指定的文件,这样我就不会依赖于来自internet的源代码了


我需要api中的原始文件,因为如果api的src发生故障,我的站点也会受到影响,因此我希望它获取并创建一个外部源,并将其包含在我的站点中。

尝试以下解决方案:-

第一种选择:-

$(document).ready(function () {
    $.getJSON("http://jsonip.com/?callback=?", function (data) {
        console.log(data);
        alert(data.ip);
    });
});
$.get("http://ipinfo.io", function(response) {
    alert(response.ip);
}, "jsonp");
第二种选择:-

$(document).ready(function () {
    $.getJSON("http://jsonip.com/?callback=?", function (data) {
        console.log(data);
        alert(data.ip);
    });
});
$.get("http://ipinfo.io", function(response) {
    alert(response.ip);
}, "jsonp");

它可能会帮助您。

我可能错了,但我认为您只能检测IP服务器端,因此您必须执行某种get/post请求

另一个答案显示了这一点的可能实现


另外,请参见此问题:

您需要在站点后端创建脚本,该脚本将返回IP,并通过ajax执行

或者在生成页面的阶段(在后端),您可以检测IP并将其放入cookie,而不是从JS读取cookie:

function getCookie(name) {
  var matches = document.cookie.match(new RegExp(
    "(?:^|; )" + name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + "=([^;]*)"
  ));
  return matches ? decodeURIComponent(matches[1]) : undefined;
}

如果您需要源数据,可以从MaxMind获取: 有免费版和付费版。大多数IP信息提供商都使用该库


如果您只需要IP,您可以创建自己的脚本。只需创建一个类似于PHP的后端脚本,并从JS请求它。示例:

联系API的作者,并索取该文件。可能的副本请参阅Malta的答案:^Teemu所以准确地说,没有其他方法可以获取原始脚本^Sebas我已经试过了,我想知道,既然他们都有源代码,我在哪里可以获得这些源代码的原始文件。任何API都会使用一些服务器端代码,所以没有其他方法可以获得完整的源代码。好的,所以我可能只需要创建php文件来获取ip并通过javascript获取。这两个选项都可以,很抱歉问这个问题(noob问题)但是如果jsonip和ipinfo曾经或者可能的话,哪怕只是一秒钟,我的网站也会受到影响,那么我有没有办法查看/查看/获取这些网站上使用的源代码?我使用了这个var userip;l2.io/ip.js?var=userip“>//打印包含ip地址文档的文本。write(“你的ip地址是:”,userip);我想知道我是否能获取/查看apiNo中的代码。我想你找不到任何方法在不呼叫任何服务器的情况下获取ip。我也为此做了很多尝试,但没有任何方法。:)@HarshSanghani你试过了,但没有/没有一个成功?:\n我试过通过php文件获取ip,并用ajax调用它,但仍然不确定我是否会使用它。事实上,我需要ip地址,我会将其存储在cookie中,这就是为什么。我按照你的建议通过ajax获取ip,但我仍然不知道我是否会坚持使用它因为我真正需要的只是纯javascript