如何在php中从IP地址获取国家名称

发布于 2024-10-02 20:13:30 字数 678 浏览 6 评论 0原文

我想使用 php 从 IP 地址查找国家、城市、纬度和经度。我正在使用这个 url,它以 xml 格式返回数据。

http://www.ipgp.net/api/xml/122.163.6.58

数据是这样的:

<IpLookup>
    <Ip>122.163.6.58</Ip>
    <Code>IN</Code>
    <Country>India</Country>
    <Flag>http://www.ipgp.net/flags/in.png</Flag>
    <City>Calcutta</City>
    <Region>West Bengal</Region>
    <Isp></Isp>
    <Lat>22.5697</Lat>
    <Lng>88.3697</Lng>
</IpLookup>

任何人都可以建议如何解析并获取结果

I want to find country, city, latitude and longitude from IP address using php. I am using this url and it is returning data in xml format.

http://www.ipgp.net/api/xml/122.163.6.58

The data is coming like this:

<IpLookup>
    <Ip>122.163.6.58</Ip>
    <Code>IN</Code>
    <Country>India</Country>
    <Flag>http://www.ipgp.net/flags/in.png</Flag>
    <City>Calcutta</City>
    <Region>West Bengal</Region>
    <Isp></Isp>
    <Lat>22.5697</Lat>
    <Lng>88.3697</Lng>
</IpLookup>

Can anybody suggest how to parse and get the result

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

神回复 2024-10-09 20:13:30

使用 PHP 中包含的 XML 解析器

Use the XML parser included in PHP?

ㄖ落Θ余辉 2024-10-09 20:13:30

我个人一直在使用这个:
http://ipinfodb.com/

示例非常清晰简洁,API 非常快。

祝你好运。

I've been using this personally:
http://ipinfodb.com/

The examples are very clear and concise and the API is very fast.

Good luck.

流绪微梦 2024-10-09 20:13:30

PHP中API的使用已经在他们的网站中描述了。为什么你使用但不阅读?

http://www.ipgp.net/developer-tools/

The use of API in PHP has already described in their website. Why you use but don't read?

http://www.ipgp.net/developer-tools/

大海や 2024-10-09 20:13:30

我建议您使用 xpath,这是访问属性更容易的模式。
例如,对于您当前的数据,我有以下内容:

$file = 'file.xml';
$xml = new SimpleXMLElement($file, NULL, TRUE);
$ipz = $xml->xpath("/IpLookup/Ip");
$country = $xml->xpath("/IpLookup/Country/");
foreach($ipz as $ip)
{
    foreach($country as $country)
    {
      echo $ip.'<br/>';
      echo $country.'<br/>';
    }
}

此代码将返回您当前的xmlipcountry。您可以用自己的方式编辑它。

I'll suggest you to use xpath this is more easier schema for accessing the attributes.
for example for your current data i have the following:

$file = 'file.xml';
$xml = new SimpleXMLElement($file, NULL, TRUE);
$ipz = $xml->xpath("/IpLookup/Ip");
$country = $xml->xpath("/IpLookup/Country/");
foreach($ipz as $ip)
{
    foreach($country as $country)
    {
      echo $ip.'<br/>';
      echo $country.'<br/>';
    }
}

this code will return you the ip and the country for your current xml. you can edit it in your own way.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文