Python调用IP地址API免费查询

举报
幂简集成 发表于 2024/09/28 09:51:38 2024/09/28
【摘要】 幂简集成(Explinks.com)发现,IP 地址查询服务可提供 IP 地址详细信息,有多种用途。介绍了其主要功能、使用方法,包括在线工具、命令行等,还给出了 Python 安装步骤及调用 IP 查询服务示例,最后列举了一些免费 IP 查询服务。

image.png

IP地址查询服务为用户揭示特定IP地址详情,如具体地理定位、运营商、网络节点等。此外,相关联的一系列内容,例如管理机构名称及详情、管理员联系方式、岗机构性质等,均可作为有效信息供各类使用需求,如滥用投诉、技术咨询、故障反馈及网络安全分析等所运用。

IP地址查询服务的主要功能有哪些?

  1. 地理位置查询:能够大致定位到IP地址所在的国家、城市,甚至是更具体的地理位置。
  2. 互联网服务提供商(ISP)识别:识别出该IP地址所属的ISP,如电信、联通等。
  3. 域名关联查询:查询IP地址是否与特定域名关联,或反向查询域名的IP地址。
  4. 网络类型判断:判断IP地址是否为数据中心、住宅、或移动网络IP。
  5. 风险评估:分析该IP地址的历史行为,判断其是否存在潜在威胁,如是否属于已知的恶意IP。

使用IP地址查询服务的方法有哪些?

  • 在线IP查询工具:许多网站提供在线IP查询服务,可以快速返回IP地址的基本信息。
  • 命令行工具查询:在操作系统中使用命令行工具如ipconfigifconfignslookupping来查询IP地址。
  • IP数据云查询:适用于需要大规模、高频次查询IP信息的企业用户。
  • API接口查询:IP信息服务商提供的API接口,可以集成到自有系统中,实现自动化查询。

Python环境安装

1. Python下载

访问Python官方网站(https://www.python.org),你可以在以下链接下载Python的文档,支持多种格式,包括HTML、PDF和PostScript等。

Python下载地址:https://www.python.org/downloads/

Python文档下载地址:https://www.python.org/doc/

2. Python安装

根据您的Windows操作系统(无论是64位还是32位),您可以从Python的官方网站下载合适的Python版本。请注意,某些旧版Windows系统可能不支持最新版本的Python,例如Windows 7可能无法安装Python 3.12.5。对于32位的Windows系统,您需要下载32位版本的Python。

对于Windows 10系统

  • 推荐下载最新稳定版本的Python,即Python 3.12.5。
  • 根据您的系统架构(64位或32位),选择相应的安装程序。
  • 下载后,运行下载的.exe安装包以完成安装。

请确保从Python官方网站下载安装程序,以获取最安全和最新的版本。安装过程中,请按照提示进行操作,确保Python正确安装在您的系统上。
image.png

window环境下python安装步骤比较简单,直接运行.exe安装包后直接下一步就能安装成功。

使用Python调用IP地址查询服务示例

我们将使用国外免费的IP地址查询服务http://ip-api.com/json/进行测试,其中需要引入的三方库有requests和json模块。

Python中requests模块

Requests 继承了urllib2的所有特性。Requests支持HTTP连接保持和连接池,支持使用cookie保持会话,支持文件上传,支持自动确定响应内容的编码,支持国际化的 URL 和 POST 数据自动编码。 requests 模块比 urllib 模块更简洁。
使用 requests 发送 HTTP 请求需要先导入 requests库:

import requests

导入后就可以发送 HTTP 请求,使用 requests 提供的方法向指定 URL 发送 HTTP 请求,例如:

# 导入requests包<br>
import requests<br>
<br>
# 发送get请求<br>
response = requests.get('https://www.runoob.com/')<br>
<br>
# 返回响应内容<br>
print(response.text)

每次调用 requests 请求之后,会返回一个 response 对象,该对象包含了具体的响应信息,如状态码、响应头、响应内容等:

print(response.status_code)  # 打印响应状态码<br>
print(response.headers)  # 打印响应头<br>
print(response.content)  # 打印响应内容

Python中json模块

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于人阅读和编写。
使用 JSON 函数需要导入 json 库。

import json

咱们开发过程中常用到json库的两个方法有:

json.dumps —— 将 Python 对象编码成 JSON 字符串
json.loads —— 将已编码的 JSON 字符串解码为 Python 对象

Python调用IP地址查询API代码示例

示例代码:

import requests<br>
import json<br>
<br>
url = 'http://ip-api.com/json/'<br>
response = requests.get(url)<br>
data = json.loads(response.text)<br>
print("目标IP地址:",data.get('query'))<br>
print("IP所属国家:",data.get('country'))<br>
print("IP所属国家代码:",data.get('countryCode'))<br>
print("IP所属城市:",data.get('city'))<br>
print("IP所属地址邮编:",data.get('zip'))<br>
print("IP所属地址经度:",data.get('lat'))<br>
print("IP所属地址纬度:",data.get('lon'))<br>
print("IP所属服务商:",data.get('isp'))

返回结果:

目标IP地址: 104.238.222.64<br>
IP所属国家: United States<br>
IP所属国家代码: US<br>
IP所属城市: Los Angeles<br>
IP所属地址邮编: 90012<br>
IP所属地址经度: 34.0544<br>
IP所属地址纬度: -118.244<br>
IP所属服务商: ReliableSite.Net LLC

按照上面代码就能实现IP地址的查询效果。

免费的IP地址查询服务都有哪些?

  • [IP地址查询-天行数据]
  • [IP地址查询-Geoapify]
  • [IP地理位置查询-Abstractapi]
  • [反向IP查询服务-IP-ninja]

幂简集成(Explinks.com),国内领先的API集成管理平台,专注于为开发者提供全面、高效、易用的API集成解决方案。我们通过构建强大的API社区和创新的集成工具,持续增加API品类及预集成服务商规模,让使用者一站发现、试用、集成国内外API接口,从而用API连接一切,加速其在AI时代的数字业务创新。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。