js 获取私有ip地址的方法

function getUserIP(onNewIP) { //firefox和chrome 的兼容性var myPeerConnection = window.RTCPeerConnection || window.mozRTCPeerConnection || window.webkitRTCPeerConnection;var pc = new myPeerConnection({iceServers: []}),noop = function() {},localIPs = {},ipRegex = /([0-9]{1,3}(\.[0-9]{1,3}){3}|[a-f0-9]{1,4}(:[a-f0-9]{1,4}){7})/g,key;function iterateIP(ip) {// !localIPs[ip] 判断是如果存在的ip地址,就不再调用该方法 节省性能开销if (!localIPs[ip]) onNewIP(ip);localIPs[ip] = true;}//创建数据通道pc.createDataChannel("");// 获取本地的描述pc.createOffer().then(function(sdp) {sdp.sdp.split('\n').forEach(function(line) {if (line.indexOf('candidate') < 0) return;line.match(ipRegex).forEach(iterateIP);});pc.setLocalDescription(sdp, noop, noop);}).catch(function(reason) {// 出现错误,请处理连接失败});//倾听candidate 事件pc.onicecandidate = function(ice) {if (!ice || !ice.candidate || !ice.candidate.candidate || !ice.candidate.candidate.match(ipRegex)) return;// match 字符串的匹配方法, 因为使用了g 全局匹配,他这个返回的是一个数组,然后去获取到值 传递给这个函数ice.candidate.candidate.match(ipRegex).forEach(iterateIP);};
}// 用法
getUserIP(function(ip){alert("Got IP! :" + ip);
});

js 获取公共IP

不安全的连接HTTP
要从没有SSL证书的网站获取用户的IP,可以依靠ipinfo.io。该服务提供了一个API,可通过简单的ajax调用获取客户端IP:

$.getJSON('http://ipinfo.io', function(data){console.log(data);
});

安全连接HTTPS(推荐)

<script type="application/javascript">function getIP(json) {document.write("My public IP address is: ", json.ip);}
</script><script type="application/javascript" src="https://api.ipify.org?format=jsonp&callback=getIP"></script>

获取 使用jquery的方法获取

$.getJSON('https://api.ipify.org?format=json', function(data){console.log(data.ip);
});

使用可以获取到公有IP地址和所在的地区

<script src="http://pv.sohu.com/cityjson?ie=utf-8"></script>
<script> console.log(returnCitySN["cip"]+','+returnCitySN["cname"]) </script>

原文链接

js获取ip地址的私有地址 或者公有地址相关推荐

  1. js获取IP地址多种方法实例教程

    js获取IP地址方法总结  js代码获取IP地址的方法,如何在js中取得客户端的IP地址. 原文地址:js获取IP地址的三种方法 http://www.jbxue.com/article/11338. ...

  2. JS获取IP地址,登录地点的方法

    JS <!--下面一个开放的JS中有一个方法可以获取当前IP地址--> <script src="http://pv.sohu.com/cityjson?ie=utf-8& ...

  3. JS获取IP地址,控制台提示returnCitySN未定义的问题

    问题:通过搜狐的IP地址查询接口https://pv.sohu.com/cityjsonx去获取IP地址的时候,控制台报错:returnCitySN未定义. 解决方案:可以通过在链接后面添加时间戳的方 ...

  4. js获取ip地址_(原创)Node.JS实战31:大名鼎鼎的Express!

    Express (http://expressjs.com)是Node.JS中一个简洁.灵活.强大的Web应用框架, 它提供了一系列强大特性,可以帮助我们快速创建各种Web 应用,也可用来编写各种的W ...

  5. IE JS获取IP地址

    1.IE打开该HTML文件 2.允许Activex运行 3.F12打开开发者工具查看IP ps: 该代码参考自:https://stackoverflow.com/questions/50640062 ...

  6. 利用前端js获取ip地址

    方法三(所有的平台及浏览器): 使用的搜狐接口 复制代码 代码如下: <script src="http://pv.sohu.com/cityjson?ie=utf-8"&g ...

  7. js 获取ip地址进行跳转

    搜狐: 第一步:在页面上引用: <script src="http://pv.sohu.com/cityjson?ie=utf-8"></script> 上 ...

  8. python 根据地址求经纬度 谷歌_js获取ip地址利用谷歌地图获得经纬度

    js获取ip地址利用谷歌地图获得经纬度-www.jquerycn.cn var  massage=null; function userip(ip){ $.getScript("http:/ ...

  9. uniapp如何获取IP地址

    uniapp如何获取IP地址 获取ip地址 js获取ip地址 uni-app获取ip地址 获取ip地址 最近一个uni项目涉及到获取IP地址,在网上看到用引入外部JS的方法来获取,uni-app配置模 ...

  10. html自动获取ip地址,自动获取ip地址怎么设置无线路由器?

    自动获取ip地址怎么设置无线路由器?如果用户的宽带类型是:自动获取IP地址上网的,那么在设置无线路由器的时候,正常情况下,只需要在"WAN口连接类型"或者"上网方式&qu ...

最新文章

  1. 网页解析:如何获得网页源码中嵌套的标签。
  2. sqlite库——C实现,给sqlite数据库添加信息并把信息写入文件,删除日志和库中的日志信息
  3. 查看linux显示文件大小,Linux下查看占用最大的文件和文件夹大小
  4. 手机qq2008触屏版_[进行中]数码手机周年庆
  5. 深入研究.NET Core的本地化机制
  6. [js] 如何按回车自动提交表单
  7. P2962 [USACO09NOV]灯Lights
  8. qt widget加载qml_Qml组件小知识
  9. 李开复发布新书《AI未来》,答技术大变革下的生存法则,LeCun纳德拉推荐
  10. hdoj1116【欧拉回路】
  11. 【小游戏】AB猜数字
  12. html中怎么让照片变模糊,CSS改变图片由模糊到清晰
  13. linux下光盘刻录,Linux下的光盘刻录
  14. ip pssql 登录写法_plsql 连接远程服务器数据库无法登录
  15. vant-ui的官方入口
  16. 20230407 定时闹钟
  17. 清华、人大获奖,浙大提名,ICLR 2022杰出论文奖出炉
  18. 网页自动弹窗被拦截 html,JS弹出新窗口被拦截的解决方法
  19. ieee会议论文从手稿到发表
  20. 小船翻了,路还得继续

热门文章

  1. 智能监狱管理系统APP软件开发
  2. linux下maxwell安装教程,Ubuntu下若干软件的安装方法
  3. Redis实战第一篇
  4. 十分钟读完《金字塔原理》
  5. AUTOCAD——光顺曲线命令、分解命令
  6. java 实现电子签名_java swing实现手写板电子签名系统
  7. kindle刷机ttl_[原创]只需USB线对Kindle 3修砖的小白教程
  8. 数学计算机sci,有哪些是数学类SCI
  9. Reeder for Chrome:让 Google Reader 更加简洁美观
  10. QAM识别算法matlab,16qam调制识别matlab