2010-05-04 4 views
4

Je veux obtenir le décalage de fuseau horaire du client à partir de son adresse IP pour mon application web. J'ai essayé d'employer la fonction de Javascripts getTimezone, mais, certains clients ont leur fuseau horaire ou heure réglée incorrectement. Je veux obtenir le décalage et restituer certaines informations sur le client en fonction de leur fuseau horaire.Comment obtenir des clients timezone offset à partir de son adresse IP

Merci d'avoir pris le temps de lire la question. Je suis ouvert aux approches alternatives aussi.

Cordialement, Vamyip

Répondre

3

Si vous pouvez appeler un service Web, vous pouvez essayer ipinfodb.com. Par exemple:

http://ipinfodb.com/ip_query.php?ip=69.59.196.211&timezone=true

retours:

<Response> <Ip>69.59.196.211</Ip> <Status>OK</Status> <CountryCode>US</CountryCode> <CountryName>United States</CountryName> <RegionCode>41</RegionCode> <RegionName>Oregon</RegionName> <City>Corvallis</City> <ZipPostalCode>97333</ZipPostalCode> <Latitude>44.4698</Latitude> <Longitude>-123.343</Longitude> <TimezoneName>America/Los_Angeles</TimezoneName> <Gmtoffset>-25200</Gmtoffset> <Isdst>1</Isdst> </Response> 

Une option plus rapide est d'utiliser le logiciel gratuit MaxMind Geolite city. Si ce n'est pas assez, vous pouvez apparemment mettre à niveau vers une version payante plus précise. Je ne peux pas parler de la qualité de la version payante, car je ne l'ai jamais utilisée. Vous pouvez download the file binary blob version de la même base de données, puis utiliser the C# class pour l'interroger.

+1

ipinfodb.com ne fait plus le TimezoneName, juste le décalage. –

+0

De plus, ipinfodb limite le taux de requêtes à 2/sec, ce qui n'est pas suffisant dans plus de petits sites de trafic. Voir "Limite de requête" [ici] (http://ipinfodb.com/ip_location_api.php) –

-3

google 'ip géolocalisation'

Il y a des API que vous pouvez appeler fournies par les entreprises. Certains sont gratuits, d'autres non.

Questions connexes