我的编程空间,编程开发者的网络收藏夹
学习永远不晚

如何利用JavaScript获取用户IP属地

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

如何利用JavaScript获取用户IP属地

这篇文章主要介绍了如何利用JavaScript获取用户IP属地的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇如何利用JavaScript获取用户IP属地文章都会有所收获,下面我们一起来看看吧。

尝试一:navigator.geolocation

尝试了使用 navigator.geolocation,但未能成功拿到信息。

getGeolocation(){  if ('geolocation' in navigator) {        console.log('地理位置服务可用')    navigator.geolocation.getCurrentPosition(function (position) {      console.dir('回调成功')      console.dir(position) // 没有输出      console.dir(position.coords.latitude, position.coords.longitude)    }, function (error) {      console.error(error)    })  } else {        console.error('地理位置服务可用')  }}

尝试二:sohu 的接口

尝试使用http://pv.sohu.com/cityjson?ie=utf-8获取用户位置信息, 成功获取到信息,信息样本如下:

{"cip": "14.11.11.11", "cid": "440000", "cname": "广东省"}
// 需要做跨域处理getIpAndAddressSohu(){  // config 是配置对象,可按需设置,例如 responseType,headers 中设置 token 等  const config = {    headers: {      Accept: 'application/json',      'Content-Type': 'application/json;charset=UTF-8',    },  }  axios.get('/apiSohu/cityjson?ie=utf-8', config).then(res => {    console.log(res.data) // var returnCitySN = {"cip": "14.23.44.50", "cid": "440000", "cname": "广东省"};    const info = res.data.substring(19, res.data.length - 1)    console.log(info) // {"cip": "14.23.44.50", "cid": "440000", "cname": "广东省"}    this.ip = JSON.parse(info).cip    this.address = JSON.parse(info).cname  })}

调试的时候,做了跨域处理。

proxy: {  '/apiSohu': {    target: 'http://pv.sohu.com/', // localhost=>target    changeOrigin: true,    pathRewrite: {    '/apiSohu': '/'    }  },}

下面是一张获取到位置信息的效果图:

如何利用JavaScript获取用户IP属地

尝试三:百度地图的接口

需要先引入百度地图依赖,有一个参数 ak 需要注意,这需要像管理方申请。例如下方这样

<script class="lazy" data-src="https://api.map.baidu.com/api?v=2.0&ak=3ufnnh7aD5CST"></script>
getLocation() {   const $this = this;  var geolocation = new BMap.Geolocation();//返回用户当前的位置  geolocation.getCurrentPosition(function (r) {    if (this.getStatus() == BMAP_STATUS_SUCCESS) {      $this.city = r.address.city;      console.log(r.address) // {city: '广州市', city_code: 0, district: '', province: '广东省', street: '', …}    }  });}
function getLocationBaiduIp(){  function myFun(result){    const cityName = result.name;    console.log(result) // {center: O, level: 12, name: '广州市', code: 257}  }  var myCity = new BMap.LocalCity();  myCity.get(myFun);}

成功用户的省市位置,以及经纬度坐标,但会先弹窗征求用户意见。

如何利用JavaScript获取用户IP属地

写在后面

尝试结果不太理想,sohu 的接口内部是咋实现的,这似乎没有弹起像下面那样的征询用户意见的提示。

如何利用JavaScript获取用户IP属地

而在 navigator.geolocation 和 BMap.Geolocation() 中是弹起了的。

用别人的接口总归是没多大意思,也不知道不用征求用户意见是咋实现的。

经实测 sohu 的接口和 new BMap.Geolocation() 都可以拿到用户的位置信息(省市、经纬度等)。

关于“如何利用JavaScript获取用户IP属地”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“如何利用JavaScript获取用户IP属地”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网行业资讯频道。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

如何利用JavaScript获取用户IP属地

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

如何利用JavaScript获取用户IP属地

这篇文章主要介绍了如何利用JavaScript获取用户IP属地的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇如何利用JavaScript获取用户IP属地文章都会有所收获,下面我们一起来看看吧。尝试一:navig
2023-06-30

利用java如何根据IP获取mac地址

利用java如何根据IP获取mac地址?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。具体内容如下import java.net.InetAddress;import jav
2023-05-31

用户的MAC地址如何利用java实现获取

用户的MAC地址如何利用java实现获取?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。java实现获取用户的MAC地址方法:方法一:将本机地址与局域网内其他机器区分开来/*
2023-05-31

怎么利用php获取ip地址

这篇文章主要介绍了怎么利用php获取ip地址,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。众所周知一般在计算机查询本机ip地址时,使用的是dos命令 win + r 调出do
2023-06-14

如何在Java中利用Request请求获取IP地址

如何在Java中利用Request请求获取IP地址?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。示例代码public class IpAdrressUtil { /**
2023-05-30

js前端怎么获取用户位置及ip属地信息

今天小编给大家分享一下js前端怎么获取用户位置及ip属地信息的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。尝试一:navig
2023-07-02

使用Java如何获取IP地址

本篇文章给大家分享的是有关使用Java如何获取IP地址,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。一、通过IP获取机器名 or 通过机器名获取iphost :主机
2023-05-31

客户端的IP地址与MAC地址怎么利用Java进行获取

这篇文章将为大家详细讲解有关客户端的IP地址与MAC地址怎么利用Java进行获取,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1.获取客户端IP地址public String getIp(H
2023-05-31

python利用标准库如何获取本地IP示例详解

标准库Python拥有一个强大的标准库。Python语言的核心只包含数字、字符串、列表、字典、文件等常见类型和函数,而由Python标准库提供了系统管理、网络通信、文本处理、数据库接口、图形系统、XML处理等额外的功能。Python标准库的
2022-06-04

如何使用 Go 获取客户端 DNS IP

学习知识要善于思考,思考,再思考!今天编程网小编就给大家带来《如何使用 Go 获取客户端 DNS IP》,以下内容主要包含等知识点,如果你正在学习或准备学习Golang,就都不要错过本文啦~让我们一起来看看吧,能帮助到你就更好了!问题内容我
如何使用 Go 获取客户端 DNS IP
2024-04-04

linux中如何使用python3获取ip地址

前言 这篇文章主要介绍了linux中如何使用python3获取ip地址,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下。 一、不带参数#!/usr/bin/python# -*- codin
2022-06-04

基于nginx反向代理如何获取用户真实Ip地址

小编给大家分享一下基于nginx反向代理如何获取用户真实Ip地址,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!引言nginx做反向代理时,默认的配置后端获取到的I
2023-06-29

ajax如何获取用户所在地天气

这篇文章将为大家详细讲解有关ajax如何获取用户所在地天气,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。使用ajax获取用户所在地的天气,供大家参考,具体内容如下1.要获取用户归属地的天气,首先得获取用户
2023-06-08

如何使用 Golang 获取我的 wifi IP 地址?

php小编小新在这里为大家介绍如何使用Golang获取自己的wifi IP地址。Golang是一种高效且简洁的编程语言,它提供了很多方便的方法来处理网络相关的任务。要获取wifi IP地址,我们可以使用Golang的net包和os/exec
如何使用 Golang 获取我的 wifi IP 地址?
2024-02-09

Win7如何用ASP获取服务器IP地址

这篇文章主要讲解了“Win7如何用ASP获取服务器IP地址”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Win7如何用ASP获取服务器IP地址”吧!方法/步骤:1.打开win7系统中的IIS
2023-06-27

Python如何利用百度地图获取两地距离

这篇文章主要介绍“Python如何利用百度地图获取两地距离”,在日常操作中,相信很多人在Python如何利用百度地图获取两地距离问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python如何利用百度地图获取两
2023-06-20

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录