调取高德 api 获取 ip 定位信息

本贴最后更新于 1885 天前,其中的信息可能已经事过境迁

我为什么记录这个呢,为了以后用到相关监控工具或者访问日志时可以调用这个 API 去查询访问者的地域信息
IP 定位是一个简单的 HTTP 接口,根据用户输入的 IP 地址,能够快速的帮用户定位 IP 的所在位置。
使用 API 前您需先申请 Key。若无高德地图 API 账号需要先申请账号。

第一步,申请”Web 服务 API”密钥(Key);

第二步,拼接 HTTP 请求 URL,第一步申请的 Key 需作为必填参数一同发送;

第三步,接收 HTTP 请求返回的数据(JSON 或 XML 格式),解析数据。

如无特殊声明,接口的输入参数和输出数据编码全部统一为 UTF-8。

IP 定位


  • IP 定位 API 服务地址:
URL https://restapi.amap.com/v3/ip?parameters
请求方式 GET

parameters 代表的参数包括必填参数和可选参数。所有参数均使用和号字符(&)进行分隔。下面的列表枚举了这些参数及其使用规则。

  • 请求参数

| 参数名 | 含义 | 规则说明 | 是否必须 | 缺省值 |
| --- | --- | --- |
| key| 请求服务权限标识 | 用户在高德地图官网申请 Web 服务 API 类型 KEY | 必填 |
| ip| ip 地址 | 需要搜索的 IP 地址(仅支持国内)若用户不填写 IP,则取客户 http 之中的请求来进行定位 | 可选 |
| sig | 签名 | 选择数字签名认证的付费用户必填 | 可选 |
|output| 返回格式 | 可选值:JSON,XML | 可选 |

  • 返回结果参数说明
名称含义 含义 规则说明
status 返回结果状态值 值为 0 或 1,0 表示失败;1 表示成功
info 返回状态说明 返回状态说明,status 为 0 时,info 返回错误原因,否则返回“OK”。
infocode 状态码 返回状态说明,10000 代表正确,详情参阅 info 状态表
province 省份名称 若为直辖市则显示直辖市名称;如果在局域网 IP 网段内,则返回“局域网”;非法 IP 以及国外 IP 则返回空
city 城市名称 若为直辖市则显示直辖市名称;如果为局域网网段内 IP 或者非法 IP 或国外 IP,则返回空
adcode 城市的 adcode 编码
rectangle 所在城市矩形区域范围 所在城市范围的左下右上对标对

接下来,
这是我的高德官网 API key
key.png

  • 通过 GET 的方式开始调用:
[root@zabbix ~]# curl "https://restapi.amap.com/v3/ip?output=json&key=fcxxxxqwqb1f&ip=223.71.40.26" {"status":"1","info":"OK","infocode":"10000","province":"北京市","city":"北京市","adcode":"110000","rectangle":"116.0119343,39.66127144;116.7829835,40.2164962"}

如图

API.png

** 哦也**😅 ……

  • API

    应用程序编程接口(Application Programming Interface)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。

    79 引用 • 431 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
cuijianzhe
6 号黑客成员, 2000-03-03 23:22:13 加入

推荐标签 标签

  • flomo

    flomo 是新一代 「卡片笔记」 ,专注在碎片化时代,促进你的记录,帮你积累更多知识资产。

    6 引用 • 143 回帖 • 1 关注
  • Outlook
    1 引用 • 5 回帖 • 5 关注
  • Gzip

    gzip (GNU zip)是 GNU 自由软件的文件压缩程序。我们在 Linux 中经常会用到后缀为 .gz 的文件,它们就是 Gzip 格式的。现今已经成为互联网上使用非常普遍的一种数据压缩格式,或者说一种文件格式。

    9 引用 • 12 回帖 • 175 关注
  • SMTP

    SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。SMTP 协议属于 TCP/IP 协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地。

    4 引用 • 18 回帖 • 630 关注
  • NetBeans

    NetBeans 是一个始于 1997 年的 Xelfi 计划,本身是捷克布拉格查理大学的数学及物理学院的学生计划。此计划延伸而成立了一家公司进而发展这个商用版本的 NetBeans IDE,直到 1999 年 Sun 买下此公司。Sun 于次年(2000 年)六月将 NetBeans IDE 开源,直到现在 NetBeans 的社群依然持续增长。

    78 引用 • 102 回帖 • 705 关注
  • Caddy

    Caddy 是一款默认自动启用 HTTPS 的 HTTP/2 Web 服务器。

    10 引用 • 54 回帖 • 178 关注
  • 安装

    你若安好,便是晴天。

    132 引用 • 1184 回帖 • 1 关注
  • Redis

    Redis 是一个开源的使用 ANSI C 语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 API。从 2010 年 3 月 15 日起,Redis 的开发工作由 VMware 主持。从 2013 年 5 月开始,Redis 的开发由 Pivotal 赞助。

    284 引用 • 248 回帖
  • 音乐

    你听到信仰的声音了么?

    62 引用 • 512 回帖
  • 心情

    心是产生任何想法的源泉,心本体会陷入到对自己本体不能理解的状态中,因为心能产生任何想法,不能分出对错,不能分出自己。

    59 引用 • 369 回帖 • 1 关注
  • Follow
    4 引用 • 12 回帖 • 2 关注
  • PWA

    PWA(Progressive Web App)是 Google 在 2015 年提出、2016 年 6 月开始推广的项目。它结合了一系列现代 Web 技术,在网页应用中实现和原生应用相近的用户体验。

    14 引用 • 69 回帖 • 184 关注
  • Linux

    Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 Unix 的多用户、多任务、支持多线程和多 CPU 的操作系统。它能运行主要的 Unix 工具软件、应用程序和网络协议,并支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

    954 引用 • 944 回帖
  • SOHO

    为成为自由职业者在家办公而努力吧!

    7 引用 • 55 回帖
  • CongSec

    本标签主要用于分享网络空间安全专业的学习笔记

    1 引用 • 1 回帖 • 37 关注
  • 星云链

    星云链是一个开源公链,业内简单的将其称为区块链上的谷歌。其实它不仅仅是区块链搜索引擎,一个公链的所有功能,它基本都有,比如你可以用它来开发部署你的去中心化的 APP,你可以在上面编写智能合约,发送交易等等。3 分钟快速接入星云链 (NAS) 测试网

    3 引用 • 16 回帖 • 1 关注
  • 书籍

    宋真宗赵恒曾经说过:“书中自有黄金屋,书中自有颜如玉。”

    81 引用 • 409 回帖
  • 友情链接

    确认过眼神后的灵魂连接,站在链在!

    24 引用 • 373 回帖
  • danl
    173 关注
  • Postman

    Postman 是一款简单好用的 HTTP API 调试工具。

    4 引用 • 3 回帖 • 2 关注
  • 小说

    小说是以刻画人物形象为中心,通过完整的故事情节和环境描写来反映社会生活的文学体裁。

    32 引用 • 108 回帖
  • C

    C 语言是一门通用计算机编程语言,应用广泛。C 语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

    86 引用 • 165 回帖
  • 游戏

    沉迷游戏伤身,强撸灰飞烟灭。

    186 引用 • 826 回帖
  • React

    React 是 Facebook 开源的一个用于构建 UI 的 JavaScript 库。

    192 引用 • 291 回帖 • 370 关注
  • H2

    H2 是一个开源的嵌入式数据库引擎,采用 Java 语言编写,不受平台的限制,同时 H2 提供了一个十分方便的 web 控制台用于操作和管理数据库内容。H2 还提供兼容模式,可以兼容一些主流的数据库,因此采用 H2 作为开发期的数据库非常方便。

    11 引用 • 54 回帖 • 672 关注
  • InfluxDB

    InfluxDB 是一个开源的没有外部依赖的时间序列数据库。适用于记录度量,事件及实时分析。

    2 引用 • 98 关注
  • 周末

    星期六到星期天晚,实行五天工作制后,指每周的最后两天。再过几年可能就是三天了。

    14 引用 • 297 回帖 • 2 关注