如何用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 地址。

以上就是如何用js获取ip地址的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2673808.html

(0)
上一篇 2025年3月7日 13:46:09
下一篇 2025年2月28日 20:41:30

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 在js中如何使用dom

    如何在 JavaScript 中使用 DOM: 使用 DOM(文档对象模型)在 JavaScript 中操作 HTML/XML 文档。具体步骤包括:获取元素、操作元素、创建新元素、插入/移除元素,以及遍历 DOM 树。 如何在 JavaSc…

    2025年3月7日
    200
  • js如何调用python

    JS 调用 Python 的方法 简介 在 web 开发中,有时需要在 javascript (js) 代码中调用 python 代码以扩展 js 的功能或访问 python 特有的库和数据源。本篇文章将介绍几种在 js 中调用 pytho…

    编程技术 2025年3月7日
    200
  • js如何发送post请求

    在 JavaScript 中发送 POST 请求的步骤:创建 XMLHttpRequest 对象。配置请求的 URL、方法、请求头等信息。准备发送数据,并使用 JSON.stringify() 转换为 JSON 字符串。将数据作为参数传递给…

    2025年3月7日
    200
  • js如何转时间戳

    在 JavaScript 中,您可以使用以下方法将日期或时间字符串转换为时间戳:使用 Date.parse() 方法,将日期或时间字符串作为参数,它将返回毫秒数的时间戳。使用 +new Date() 方法,将日期或时间字符串作为参数,它将返…

    2025年3月7日
    200
  • js倒计时怎么编写

    JavaScript 倒计时是一种显示指定时间剩余时间的脚本,常用在促销活动、游戏和预售等场景。编写步骤:创建 HTML 元素,包含标题和倒计时;编写 JavaScript 函数,设置倒计时截止时间,计算剩余时间并将其转换为天、时、分、秒,…

    2025年3月7日
    200
  • js如何使用正则

    在 JavaScript 中,正则表达式用于匹配字符串,具体方法包括:构造正则表达式对象:使用 RegExp 构造函数或字面语法。指定模式:模式由字符组、元字符和量词组成。分组:使用括号创建子组。使用方法:test() 检查匹配,exec(…

    2025年3月7日
    200
  • js如何判断对象为空

    判断 JavaScript 对象是否为空的方法有:使用 Object.keys() 方法检测键的数量。使用 lodash 的 isEmpty() 方法检查自身属性和 falsy 值。创建自定义函数检测键的存在。 如何使用 JavaScrip…

    2025年3月7日
    200
  • 如何判断js数组为空

    判断 JavaScript 数组是否为空的方法:检查长度使用 Array.prototype.some()使用 Array.isArray() 和 Object.keys() 如何判断 JavaScript 数组是否为空 判断 JavaSc…

    2025年3月7日
    200
  • js定时器如何使用

    JavaScript 定时器用于安排代码在指定的时间间隔后执行,避免阻塞主线程。可用方法:setTimeout:延迟指定时间后执行一次setInterval:指定时间间隔内重复执行通过 clearTimeout/clearInterval …

    2025年3月7日
    200
  • js如何在函数内部更改全局变量值

    在 JavaScript 中,可以在函数内部修改全局变量的值,步骤如下:定义全局变量,在函数外部。创建一个函数。在函数内部,使用 window 对象访问和修改全局变量。谨慎修改全局变量的值,考虑使用局部变量避免意外修改。 如何使用 Java…

    2025年3月7日
    200

发表回复

登录后才能评论