2010-03-02 12 views
19

heyy ragazziQualsiasi API affidabile a disposizione per determinare città e il paese per l'utente dall'indirizzo IP

ho voluto verificare se qualcuno sa di un'API affidabile che possiamo usare per determinare città e il paese dell'utente dal suo indirizzo IP.

mia ricerca su Google ha portato a http://ipinfodb.com/ip_location_api.php

Sembra perfetto, ma la mia unica preoccupazione è l'affidabilità di questo servizio. Google ha qualcosa di simile. Se conoscete altre API gratuiti oa pagamento di che aiutano a determinare la posizione di utente dal suo IP - per favore fatemelo sapere

THanks

+1

Diventa città/paese da IP: [La tua città] (https://ipapi.co/city /), [Paese dell'utente] (https://ipapi.co/country/), [Città per IP 8.8.8.8] (https://ipapi.co/8.8.8.8/city/), [Paese per IP 8.8.8.8] (https://ipapi.co/8.8.8.8/country/) – user4150760

+0

È un po 'ironico che ** ipinfodb.com **, il servizio che hai interrogato fino al 2010, sia ancora online e funzioni effettivamente bene (lo sto usando io stesso) –

risposta

7

ho usato http://www.hostip.info/ e l'ho trovato veramente bene.

+0

Grazie codaddict - fammi controllare quello – Gublooo

+2

IP appena controllato che è in uso per 2 anni. Non è nemmeno in grado di localizzare il mio paese. Non sono sicuro che sia buono per le ricerche internazionali ... – AlexeyVMP

+0

Ho trovato quello http://ip-api.com/docs/api:json per essere veramente buono :) – thinklinux

5

Ogni geolocalizzazione IP dipende dalle registrazioni inviate dall'ISP. Questo non sarà mai completamente affidabile perché molti ISP presentano la sede del loro ufficio invece di posizioni fisiche delle loro sottoreti che potrebbero trovarsi in una città o in un paese diverso.

+0

Grazie SF - Probabilmente ho usato il termine sbagliato - quando intendevo affidabile - volevo dire che il servizio dovrebbe essere veloce e non avere molto tempo morto. Capisco che non possiamo mai determinare correttamente il 100% la posizione.Questo è solo per precompilare il modulo per l'utente che può quindi cambiarlo se la città/paese è sbagliata – Gublooo

3

In un certo senso, non è possibile in modo affidabile conoscere la posizione di un utente . Utilizzando i suggerimenti, le altre risposte fornite ti forniranno la geolocalizzazione di un IP, ma non c'è modo di sapere che l'indirizzo IP di New York USA non è accessibile tramite una VPN da qualcuno in viaggio d'affari a Londra, Regno Unito, o se qualcuno sta usando un servizio di anonimato come Tor.

+2

Grazie Frank - Probabilmente ho usato il termine sbagliato - quando intendevo affidabile - intendevo dire che il servizio dovrebbe essere rapido e non avere molto tempo morto. Capisco che non possiamo mai determinare correttamente il 100% la posizione. Questo è solo per precompilare il modulo per l'utente che può quindi cambiarlo se la città/paese è sbagliata – Gublooo

11

considerare l'utilizzo geoplugin, fornisce la maggior parte delle informazioni da un codice PHP singola linea, ma richiede una connessione al server geoplugin.com per ogni richiesta (ed è gratuita).

Esempi:

JSON: http://www.geoplugin.net/json.gp?ip=74.125.236.174

{ 
geoplugin_request: "74.125.236.174", 
geoplugin_status: 200, 
geoplugin_city: "Mountain View", 
geoplugin_region: "CA", 
geoplugin_areaCode: "650", 
geoplugin_dmaCode: "807", 
geoplugin_countryCode: "US", 
geoplugin_countryName: "United States", 
geoplugin_continentCode: "NA", 
geoplugin_latitude: "37.419201", 
geoplugin_longitude: "-122.057404", 
geoplugin_regionCode: "CA", 
geoplugin_regionName: "California", 
geoplugin_currencyCode: "USD", 
geoplugin_currencySymbol: "$", 
geoplugin_currencySymbol_UTF8: "$", 
geoplugin_currencyConverter: 1 
} 

Xml: http://www.geoplugin.net/xml.gp?ip=74.125.236.174

<geoPlugin> 
<script/> 
<geoplugin_request>74.125.236.174</geoplugin_request> 
<geoplugin_status>200</geoplugin_status> 
<geoplugin_city>Mountain View</geoplugin_city> 
<geoplugin_region>CA</geoplugin_region> 
<geoplugin_areaCode>650</geoplugin_areaCode> 
<geoplugin_dmaCode>807</geoplugin_dmaCode> 
<geoplugin_countryCode>US</geoplugin_countryCode> 
<geoplugin_countryName>United States</geoplugin_countryName> 
<geoplugin_continentCode>NA</geoplugin_continentCode> 
<geoplugin_latitude>37.419201</geoplugin_latitude> 
<geoplugin_longitude>-122.057404</geoplugin_longitude> 
<geoplugin_regionCode>CA</geoplugin_regionCode> 
<geoplugin_regionName>California</geoplugin_regionName> 
<geoplugin_currencyCode>USD</geoplugin_currencyCode> 
<geoplugin_currencySymbol>&#36;</geoplugin_currencySymbol> 
<geoplugin_currencySymbol_UTF8>$</geoplugin_currencySymbol_UTF8> 
<geoplugin_currencyConverter>1</geoplugin_currencyConverter> 
</geoPlugin> 

Altre opzioni

+0

L'unico problema è che ha una restrizione. Inoltre puoi essere bloccato. – Yusuf

4

Google ha qualcosa di simile.

No, Google non fornisce un servizio simile a questo. (nota che la risposta qui che afferma che lo fornisce, non conduce da nessuna parte).

Eventuali altre API gratuiti oa pagamento di che aiutano a determinare la posizione di utente il suo IP

Prima di tutto è difficile parlare di affidabilità di tale servizio. La maggior parte dei servizi si basa sull'ISP per ottenere i propri dati e l'ISP non fornisce sempre dati affidabili. Inoltre, dato che presumo che ti interessi fondamentalmente sulla posizione dell'utente (e non su quale posizione appartenga il suo IP), l'utente può decidere di nascondere la sua posizione tramite VPN, Tor o altri anonimi.

In alcuni dei vostri commenti, ho visto che per affidabilità si intende il tempo di attività del provider API. In tal caso, raccomanderei lo MaxMind's GeoIP2. Prima di tutto, ho visto questo sito per molto tempo, sono stati aggiornati abbastanza spesso (ultimo aggiornamento 1-aprile 2014), inoltre se hai così paura dei tempi di inattività - puoi fare download their database e non fare affidamento su di essi (anche loro sono gratuito).

Un altro servizio mi piace in realtà is less known and opensource (in parte si basa sui dati di MaxMind). L'ho usato solo poche volte, quindi non posso dire che è tempo di attività, ma mi piace molto la loro API. E 'così semplice, che è difficile a venire con più semplice:

http://www.telize.com/geoip/46.19.37.108 

o come questo

http://www.telize.com/geoip/2a02:2770::21a:4aff:feb3:2ee 

vi darà

{ 
"country":"Netherlands", 
"dma_code":"0", 
"timezone":"Europe\/Amsterdam", 
"area_code":"0", 
"ip":"46.19.37.108", 
"asn":"AS196752", 
"continent_code":"EU", 
"isp":"Tilaa V.O.F.", 
"longitude":5.75, 
"latitude":52.5, 
"country_code":"NL", 
"country_code3":"NLD" 
} 

Credo che questi due servizi sono abbastanza abbastanza per ottenere informazioni normali per i tuoi visitatori. Ma una cosa importante. Se hai davvero bisogno di sapere da dove arrivano gli utenti - perché non chiedere loro con html5 geolocation? Ecco uno nice example, ma puoi andare oltre (chiedi loro se la posizione è corretta e dà loro la possibilità di cambiarla). So che nel tuo caso hai bisogno solo di Country/City, ma potrebbero esserlo altre persone ne avranno bisogno.


P.S. Novembre 2015. Ora che telize.com costa denaro da utilizzare, ho trovato un altro servizio che è attualmente gratuito:

https://freegeoip.net/json/45.79.8.237 
https://freegeoip.net/json/2600:3c00::f03c:91ff:fe98:c0f5 
+0

attualmente uso 'freegeoip.net' puoi provare anche: [geoplugin.net] (http://www.geoplugin.net/json.gp?ip=20.20.20.20), può aiutare qualcuno. – stom

+0

puoi confermare che esiste un servizio di google che può fornire il codice paese e paese di un dato indirizzo IP. – Yusuf

Problemi correlati