2010-11-16 8 views
-2

Je cherche le pays, la ville, la latitude et la longitude de l'adresse IP en utilisant php. J'utilise cette URL et il retourne des données au format XML.Comment obtenir le nom du pays de l'adresse IP en php

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

Les données sont transmises comme ceci:

<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> 

Quelqu'un peut-il suggérer comment analyser et obtenir le résultat

Répondre

0

J'utilise personnellement: http://ipinfodb.com/

Les exemples sont très clairs et concis et l'API est très rapide.

Bonne chance.

0

Je vous suggère d'utiliser ce xpath est plus schéma plus facile pour accéder aux attributs. par exemple pour vos données actuelles i ont les suivantes:

$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/>'; 
    } 
} 

ce code vous renvoie le ip et le country pour votre xml actuelle. vous pouvez l'éditer à votre manière.

Questions connexes