Come ottenere il nome del paese da un indirizzo IP utilizzando Php senza l'utilizzo di un'edizione commerciale GeoIP Region. Per favore qualcuno mi aiuta?Nome del paese da php
risposta
Non penso che si possa fare semplicemente usando PHP, ma ho trovato una soluzione API gratuita che è possibile utilizzare. Richiede post e risposta semplici. http://www.hostip.info/use.html
esempio postale: http://api.hostip.info/get_html.php?ip=12.215.42.19
esempio di risposta: Paese: STATI UNITI (USA) Città: Sugar Grove, IL
Funziona solo negli Stati Uniti? Non ricevo alcuna risposta valida con il mio IP dalla Germania. –
Utilizza il codice di free IP geolocation webservice
$json = file_get_contents('http://freegeoip.appspot.com/json/66.102.13.106');
$expression = json_decode($json);
print_r($expression);
Risultato
stdClass Object
(
[status] => 1
[ip] => 66.102.13.106
[countrycode] => US
[countryname] => United States
[regioncode] => CA
[regionname] => California
[city] => Mountain View
[zipcode] => 94043
[latitude] => 37.4192
[longitude] => -122.057
)
Per ottenere countryname
echo $expression->countryname;
Risultato
United States
Supponendo di avere 'json_decode()' che viene fornito solo da PHP> = 5.2. – Boldewyn
Se si vuole impostare la propria applicazione qui è la fonte git della soluzione di cui sopra, da Peter (preferisco sempre la soluzione self hosted invece di colpire e fare affidamento su alcuni o ther di servizio):
Usa apinotes esterno geolocation api
Esempio:
http://apinotes.com/ipaddress/ip.php?ip=27.62.184.235
URL: http://apinotes.com/ipaddress/ip.php
Parameter Name: ip
Value: 27.62.184.23 (ipv4 address)
Esempio Per ottenere Paese dettagli da IP Address In Php
<?php
$ip = '27.62.184.235';
$json_data = file_get_contents("http://apinotes.com/ipaddress/ip.php?ip=$ip");
$ip_data = json_decode($json_data, TRUE);
if ($ip_data['status'] == 'success') {
?>
<p>Ip Address: <?php echo $ip_data['ip'] ?></p>
<p>Country Name: <?php echo $ip_data['country_name'] ?></p>
<p>Country Code: <?php echo $ip_data['country_code'] ?></p>
<p>Country Code (3 digit): <?php echo $ip_data['country_code3'] ?></p>
<p>Region Code: <?php echo $ip_data['region_code'] ?></p>
<p>Region Name: <?php echo $ip_data['region_name'] ?></p>
<p>City Name: <?php echo $ip_data['city_name'] ?></p>
<p>Latitude: <?php echo $ip_data['latitude'] ?></p>
<p>Longitude: <?php echo $ip_data['longitude'] ?></p>
<?php }
?>
Senza un'API * commerciale * o senza alcuna API GeoIP? – Gordon