Comment trouver l'emplacement des clients dans ma page ASP.NET? En fait j'ai utilisé System.Globalization.RegionInfo.CurrentRegion
, mais il montre le réglage dans le panneau de contrôle. Puis-je trouver l'emplacement exact en utilisant n'importe quelle méthode?Recherche de l'emplacement des clients dans une page ASP.NET
Répondre
Vous pouvez deviner le pays auquel l'adresse IP appartient en effectuant une recherche sur l'adresse IP du client. Il y a quelques pages qui fournissent des bases de données contenant des IP aux tables de mappage de pays., Voir here par exemple
Non que cela vous donne 100% de précision, mais vous pouvez utiliser hostip.info
Ils fournissent une API qui vous donne la l'emplacement d'une adresse IP que vous leur transmettez via une requête HTTP. Vous pouvez utiliser un objet WebClient pour effectuer des appels à l'API et analyser les résultats. Scott Hanselman a un assez bel exemple dans this blog article (mon exemple ci-dessous est basé sur son article). La base de données de hostip.info est basée sur un projet ouvert que la communauté fournit des adresses IP à ... donc il n'y a aucune garantie d'être correct.
Pour commencer, vous devez déterminer l'adresse IP du client comme suit:
string ipaddress = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
Une fois que vous avez l'adresse IP, vous pouvez créer un objet WebClient et appeler l'API ...
Exemple API appel:
string r;
using (var w = new WebClient())
{
r = w.DownloadString(String.Format("http://api.hostip.info/?ip={0}&position=true", ipaddress));
}
Les résultats seront XML qui ressemble à ceci:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<HostipLookupResultSet version="1.0.0" xmlns="http://www.hostip.info/api" xmlns:gml="http://www.opengis.net/gml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.hostip.info/api/hostip-1.0.0.xsd">
<gml:description>This is the Hostip Lookup Service</gml:description>
<gml:name>hostip</gml:name>
<gml:boundedBy>
<gml:Null>inapplicable</gml:Null>
</gml:boundedBy>
<gml:featureMember>
<Hostip>
<gml:name>Sugar Grove, IL</gml:name>
<countryName>UNITED STATES</countryName>
<countryAbbrev>US</countryAbbrev>
<!-- Co-ordinates are available as lng,lat -->
<ipLocation>
<gml:PointProperty>
<gml:Point srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
<gml:coordinates>-88.4588,41.7696</gml:coordinates>
</gml:Point>
</gml:PointProperty>
</ipLocation>
</Hostip>
</gml:featureMember>
</HostipLookupResultSet>
IPAddressExtensions est une bibliothèque de classes CodePlex gratuit si tout ce que vous voulez est le pays de l'adresse IP est situé dans.
Il ne nécessite pas une connexion à un autre site Web, etc. Et il est open source .. alors allez nuts;)
- 1. Modèles clients Asp.net -
- 2. ASP.NET: formulaire lecture des valeurs variables dans la page d'action de formulaire de recherche
- 3. Traitement des clients avec une connexion lente
- 4. Gestion des erreurs personnalisées pour une page spécifique dans ASP.Net
- 5. Requiert des données dans au moins une zone de texte sur la page de recherche
- 6. Recherche d'une DOI dans un document ou une page
- 7. base.OnLoad (e) dans une page ASP.NET
- 8. La recherche Google renvoie une page blanche
- 9. 'Recherche Avancée' Page
- 10. Remplir la liste (des clients) dans LinQ
- 11. meilleur moyen d'afficher les résultats de recherche sur la même page que le contrôle de recherche dans ASP.Net
- 12. Recherche ASP et résultats dans une seule page
- 13. Recherche DNS dans ASP/ASP.Net
- 14. Fichier WMV dans une page ASP.NET
- 15. ASP.net: Afficher le PDF dans une page web asp.net
- 16. Comment implémenter la fonctionnalité back dans une page web asp.net?
- 17. comment authentifier des clients à l'aide de certificats dans un service Web ASP.NET
- 18. Comment rendre et importer une page asp.net dans une autre page asp.net?
- 19. Recherche et routage dans ASP.Net MVC
- 20. page ASP.NET appelle une page ASPX supplémentaire après le chargement
- 21. Page Actualiser dans ASP.NET
- 22. Intégration de bibliothèques de documents SharePoint dans une page ASP.NET
- 23. Comparaisons de clients .NET Memcached
- 24. ASP.NET: recherche d'un événement click dans page_load
- 25. ASP.NET - Validation séparée de deux formulaires sur une seule page?
- 26. Comment faire des fonctions d'initialisation de page dans ASP.NET AJAX?
- 27. asp.net ajax 4.0 modèles de clients, comment lier un select?
- 28. ASP.NET: récupération des rôles autorisés pour une page
- 29. Certificats clients dans wcf
- 30. Effacement d'une grille de données asp.net dans la page ASPX
Avec une application ASP.NET, System.Globalization.RegionInfo.CurrentRegion ne vous montrera que les informations de région du serveur Web, pas les navigateurs Web clients. –