首页 > 后端开发 > php教程 > 如何使用 PHP 和第三方 API 从 IP 地址获取城市、州和国家/地区?

如何使用 PHP 和第三方 API 从 IP 地址获取城市、州和国家/地区?

Mary-Kate Olsen
发布: 2024-12-23 06:41:13
原创
448 人浏览过

How to Get City, State, and Country from an IP Address using PHP and Third-Party APIs?

如何使用 PHP 从 IP 地址获取位置信息

为了根据访问者的独特位置定制您的网页,您需要一种根据 IP 地址检索城市、州和国家等信息的可靠方法。有多种选项可用于执行此操作。

一种方法是下载免费的 GeoIP 数据库并在本地执行查找。或者,您可以使用第三方服务进行远程查找,这是一个方便的选项,可以消除设置麻烦,但会增加延迟。

这样的第三方服务之一是 ipinfo.io。它提供有关 IP 地址的各种信息,包括主机名、地理位置、网络所有者等。

例如:

$ curl ipinfo.io/8.8.8.8
{
  "ip": "8.8.8.8",
  "hostname": "google-public-dns-a.google.com",
  "loc": "37.385999999999996,-122.0838",
  "org": "AS15169 Google Inc.",
  "city": "Mountain View",
  "region": "CA",
  "country": "US",
  "phone": 650
}
登录后复制

以下是如何在中使用 ipinfo.io 的示例PHP:

$ip = $_SERVER['REMOTE_ADDR'];
$details = json_decode(file_get_contents("http://ipinfo.io/{$ip}/json"));
echo $details->city; // -> "Mountain View"
登录后复制

您还可以在客户端集成 ipinfo.io。这是一个 jQuery 示例:

$.get("https://ipinfo.io/json", function (response) {
    $("#ip").html("IP: " + response.ip);
    $("#address").html("Location: " + response.city + ", " + response.region);
    $("#details").html(JSON.stringify(response, null, 4));
}, "jsonp");
登录后复制

以上是如何使用 PHP 和第三方 API 从 IP 地址获取城市、州和国家/地区?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板