js获取本地ip地址

这篇具有很好参考价值的文章主要介绍了js获取本地ip地址。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

获取ip地址: 

function getIP(success,error){
  let MyPeerConnection = window.RTCPeerConnection || window.mozRTCPeerConnection || window.webkitRTCPeerConnection;
  let pc = new MyPeerConnection({
    iceServers: []
  });
  let noop = () => {
  };
  let localIPs = {};
  let ipRegex = /([0-9]{1,3}(\.[0-9]{1,3}){3}|[a-f0-9]{1,4}(:[a-f0-9]{1,4}){7})/g;
  let flag = false; 
  let iterateIP = (ip) => {
    if (!localIPs[ip]) success&&success(ip);
    localIPs[ip] = true;
  };
  pc.createDataChannel('');
  pc.createOffer().then((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((err) => {
    error&&error(err)
  });
  pc.onicecandidate = (ice) => {
    if (!ice || !ice.candidate || !ice.candidate.candidate || !ice.candidate.candidate.match(ipRegex)) {
        if(!flag){
            let err = 'ip无法获取,请设置浏览器'
            error&&error(err)
        }
        flag=true
        return
    }
    ice.candidate.candidate.match(ipRegex).forEach(iterateIP);
  };
}
  
getIP((ip) => {
    console.log(ip)
});

如果电脑没获取到,基本上是因为浏览器限制了,解除方法如下:

解决方案:

火狐(FireFox) 删除隐藏IP

浏览器输入 about:config

搜索配置 media.peerconnection.enabled 改为false ( 刷新程序,IP正常显示 )

谷歌(Chrome) 删除隐藏IP

浏览器输入:chrome://flags/#enable-webrtc-hide-local-ips-with-mdns

把 Anonymize local IPs exposed by WebRTC 设置为 disabled ( 刷新程序,IP正常显示 )文章来源地址https://www.toymoban.com/news/detail-729343.html

到了这里,关于js获取本地ip地址的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Shell脚本中获取本机ip地址,Linux获取本地ip地址

    在 Shell 脚本中获取本机 IP 地址可以通过多种方式实现,这里介绍三种常用的方法: 1. 使用 ifconfig 命令获取本机 IP 地址 ifconfig 命令可以获取本机网卡的配置信息,包括 IP 地址。可以通过 grep 命令过滤出 IP 地址信息,再使用 awk 命令提取出具体的 IP 地址。示例代码如下:

    2024年02月11日
    浏览(43)
  • 【JavaScript】如何获取客户端IP地址?

    使用这个库:request-ip 它按照如下顺序获取请求的IP地址: X-Client-IP X-Forwarded-For (Header may return multiple IP addresses in the format: “client IP, proxy 1 IP, proxy 2 IP”, so we take the first one.) CF-Connecting-IP (Cloudflare) Fastly-Client-Ip (Fastly CDN and Firebase hosting header when forwared to a cloud function) True-Clie

    2024年02月05日
    浏览(36)
  • Golang 获取本地 IP 地址方法

    在 Golang 中,使用 net 包可以很方便地获取到本机IP地址。 简单示例代码如下: 使用 udp 不需要关注是否送达,只需要对应的 ip 和 port 正确,即可获取到 IP 地址。简单示例代码如下:

    2024年02月15日
    浏览(45)
  • rust获取本地ip地址的方法

    大家好,我是get_local_info作者带剑书生,这里用一篇文章讲解get_local_info的使用。 get_local_info是什么? get_local_info是一个获取linux系统信息的rust三方库,并提供一些常用功能,目前版本0.2.4。详细介绍地址:[我的Rust库更新]get_local_info 0.2.3-CSDN博客 首先在你的工程添加它 然后引

    2024年01月17日
    浏览(35)
  • 前端获取Ip地址

    浏览器不能直接获取本机ip地址,需要调用第三方接口。或者自己提供一个接口来获取。这里提供一个简单的第三方接口来获取ip地址。

    2024年02月16日
    浏览(31)
  • 浏览器获取本地IP地址(不是浏览器的url地址的ip)

    浏览器输入: edge://flags/#enable-webrtc-hide-local-ips-with-mdns Anonymize local IPs exposed by WebRTC 状态改为disable JS方法: function f() { if(typeof window != \\\'undefined\\\'){ var RTCPeerConnection = window.RTCPeerConnection || window.mozRTCPeerConnection || window.webkitRTCPeerConnection; var rtc = new RTCPeerConnection() rtc.createDataChannel(\\\'\\\'

    2024年02月02日
    浏览(45)
  • rust获取本地外网ip地址的方法

    大家好,我是get_local_info作者带剑书生,这里用一篇文章讲解get_local_info的使用。 get_local_info是什么? get_local_info是一个获取linux系统信息的rust三方库,并提供一些常用功能,目前版本0.2.4。详细介绍地址:[我的Rust库更新]get_local_info 0.2.3-CSDN博客 首先在你的工程添加它 然后引

    2024年01月18日
    浏览(44)
  • vue获取本机ip地址

     mounted() {       this.getUserIP((ip)={          console.log(\\\'ip=\\\')          console.log(ip)       })     },    methods: {  getUserIP (onNewIP) {         //获取不到可能是因为chrome浏览器版本过高,需要修改浏览器配置如下         //在chrome地址栏输入:chrome://flags/#enable-webrtc-hide-local-ips-

    2023年04月09日
    浏览(27)
  • js获取用户浏览器信息和ip地址以及位置

    效果如下   效果如下 这里是在 vue中created生命周期中发送请求  返回输入如下  

    2024年02月11日
    浏览(40)
  • 前端获取用户ip地址,并放在请求头上(uniapp和H5)

     今日需求:          获取用户ip地址,并在每一次请求的时候带上这个ip地址 获取 用户ip地址的方式有很多,各大地图的开发者平台都能找到相关的API接口地址,都很牛掰,但是我看了一下,好像不太适合我(懒病犯了~~),所以我就用shohu的接口: http://pv.sohu.com/cityjson

    2024年02月11日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包