介绍 我们经常需要知道IP地址的位置,甚至可能是我们的IP地址。另一个用例是当您要向网站的用户发送登录信息时。在这篇博客中,我们将看到如何使用Python知道IP地址的位置。 准备好您的工具为了实现该目标,我们将使用下面提到的两个 API: - ipify:此 API 将帮助我们了解请求来自何处的 IP 地址。
- ipapi:此 API 将帮助我们获取特定 IP 地址的位置信息。
为了与这些API进行交互,我们将在Python中使用库。如果您不熟悉 API,请务必查看本教程以了解它们。requests 您可以使用如下命令安装此库:pip
$ pip install requests
一旦安装了库,我们就可以开始了! 获取位置信息正如我们所讨论的,我们将首先从第一个 API 获取我们的 IP 地址。然后,我们将使用此 IP 地址来获取此特定 IP 地址的位置信息。因此,我们将有两个函数。 在上面的代码中,我们有两个函数 - 和 .让我们分别讨论它们中的每一个。get_ip()get_location() get_ip() 函数
根据 ipify 的 API 文档,我们需要在 https://api.ipify.org?format=json 上发出 GET 请求,以获得如下所示的 JSON 响应: 我们将此响应存储在响应变量中,该变量只不过是一种具有一个键值对的Python字典。因此,我们将键的值返回为 。ipresponse["ip"] get_location() 函数
根据ipapi的API文档,我们需要在 https://ipapi.co/{ip}/{format}/上发出GET请求,以获取特定IP地址的位置信息。 替换为 IP 地址,并且可以替换为以下任何地址 - 、 、 、 、 。此函数在内部调用该函数以获取 IP 地址,然后在具有 IP 地址的 URL 上发出 GET 请求。此 API 返回如下所示的 JSON 响应:{ip}{format}jsonjsonpxmlcsvyamlget_ip() 我们在响应中获得了大量数据。您可以使用任何适合您的方法。在本教程中,我们将只使用 和/地区。这就是为什么我们创建了一个名为location_data的字典,并将所有数据存储在其中并返回相同的数据。cityregion
最后,我们调用该函数并打印输出。我们的输出将如下所示:get_location() 结论
在这篇博客中,我们学习了如何与 Web 服务交互以获取特定 IP 地址的位置信息
|