Cómo obtener el nombre del país desde la dirección IP en php [duplicado]
-
10-10-2019 - |
Pregunta
Esta pregunta ya tiene una respuesta aquí:
- ¿Cómo analizar y procesos HTML / XML en PHP? 30 respuestas
Quiero Encontrar país, ciudad, latitud y longitud de la dirección IP utilizando php. Estoy utilizando esta URL y se está volviendo datos en formato XML.
http://www.ipgp.net/api/xml/122.163.6.58
Los datos está llegando de esta manera:
<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>
¿Alguien puede sugerir cómo analizar y obtener el resultado
Solución
Otros consejos
Utilice el XML parser incluido en PHP?
He estado usando esto personalmente: http://ipinfodb.com/
Los ejemplos son muy clara y concisa y la API es muy rápido.
Buena suerte.
El uso de la API en PHP ya se ha descrito en su página web. ¿Por qué se utiliza, pero no lee?
voy a sugerir que use xpath
esto es más fácil de esquema para acceder a los atributos.
por ejemplo, para los datos actuales Tengo el siguiente:
$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/>';
}
}
este código le devuelva el ip
y la country
para su xml
actual. se puede editar en su propio camino.