最新公告
  • 欢迎您光临码农资源网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!加入我们
  • 如何用js获取ip地址

    获取 ip 地址的方法:直接获取webrtc api。使用 navigator.mediadevices.getusermedia()。通过服务器代理发送 ajax 或 fetch 请求。

    如何用js获取ip地址

    如何用 JavaScript 获取 IP 地址

    直接获取

    • WebRTC API
    async function getIP() {
      const configuration = {
        iceServers: [
          {
            urls: ['stun:stun.l.google.com:19302']
          }
        ]
      };
      const peerConnection = new RTCPeerConnection(configuration);
      const iceCandidate = await new Promise((resolve) => {
        peerConnection.onicecandidate = (e) => {
          if (e.candidate && e.candidate.type === 'srflx') {
            resolve(e.candidate.address);
          }
        };
      });
      peerConnection.close();
      return iceCandidate;
    }
    • navigator.mediaDevices.getUserMedia()
    async function getIP() {
      const mediaStream = await navigator.mediaDevices.getUserMedia({ video: false, audio: false });
      const peerConnection = new RTCPeerConnection();
      const sender = peerConnection.addTrack(mediaStream.getTracks()[0], mediaStream);
      const iceCandidate = await new Promise((resolve) => {
        peerConnection.onicecandidate = (e) => {
          if (e.candidate && e.candidate.type === 'srflx') {
            resolve(e.candidate.address);
          }
        };
      });
      sender.stop();
      peerConnection.close();
      return iceCandidate;
    }

    通过服务器代理

    • 使用 AJAX 或 fetch

    向服务器发送请求,服务器响应中包含 IP 地址。

    async function getIP() {
      const response = await fetch('/get-ip');
      const data = await response.json();
      return data.ip;
    }

    注意事项

    • WebRTC API 和 navigator.mediaDevices.getUserMedia() 只能在安全连接(HTTPS)上使用。
    • 服务器代理方法需要后端支持。
    • 获取到的 IP 地址可能是本地 IP 地址,而不是外部 IP 地址。
    想要了解更多内容,请持续关注码农资源网,一起探索发现编程世界的无限可能!
    本站部分资源来源于网络,仅限用于学习和研究目的,请勿用于其他用途。
    如有侵权请发送邮件至1943759704@qq.com删除

    码农资源网 » 如何用js获取ip地址
    • 7会员总数(位)
    • 25846资源总数(个)
    • 0本周发布(个)
    • 0 今日发布(个)
    • 293稳定运行(天)

    提供最优质的资源集合

    立即查看 了解详情