前端获取ip地址、获取经度、纬度

记录一次js获取ip地址,经纬度

开始使用过很多的方法

const getLocalIP = async () => {
  const pc = new RTCPeerConnection();
  pc.createDataChannel('');
  const offer = await pc.createOffer();
  await pc.setLocalDescription(offer);
  const localIP = pc.localDescription.sdp.match(/(?<=c=IN IP4 )\S+/)[0];
  return localIP;
};

console.log(await getLocalIP()); 127.0.0.0 获取的是网络的本地地址
这里为了避免在控制台中出现错误 可以写为这种
  getLocalIP().then((ip) => {
  console.log(ip);
  }).catch((err) => {
  console.error(err);
 });
 

 还有就是使用的getCurrentPosition方法但是我们这个放在企业微信内置浏览器中使用。

企业微信会默认阻止getCurrentPosition方法使用

 

// https://api.ipify.org?format=json // 获取自己ip地
// https://api.ip.sb/geoip // 获取ip以及归属地 const xhr = new XMLHttpRequest(); xhr.open('GET', 'https://api.ipify.org?format=json', true); xhr.onload = function() { if (this.status === 200) { const response = JSON.parse(this.responseText) const ip = response console.log(ip) } }; xhr.send()

通过接口的请求就不会受到企业微信的H5方法获取地址的限制,获取的是物理IP地址

posted @ 2023-04-27 19:47  樱桃树下的约定  阅读(1094)  评论(0编辑  收藏  举报
返回顶端