Geo-Standort basierend auf IP-Adresse – PHP [closed]

Lesezeit: 4 Minuten

Geo Standort basierend auf IP Adresse PHP closed
Latox

Wir suchen nach einer schnellen und genauen Möglichkeit, den Standort des Besuchers anhand seiner IP-Adresse zu ermitteln.

Wir haben ipinfodb.com ausprobiert, aber ihre API hat unsere Website beim API-Aufruf stark verzögert.

Welche anderen Dienste schlagen Sie vor?

  • Mögliches Duplikat: Welche Dienste gibt es, die eine Person basierend auf IP geolokalisieren?

    – hakre

    14. Oktober 11 um 11:41 Uhr

  • mögliches Duplikat von Get Country of IP Address with PHP

    – Juraj Blaho

    02.09.13 um 11:56 Uhr

  • Eine kostenlose und einfach zu verwendende API: ipinfodb.com/api

    – Mylad Safaei

    4. Mai 20 um 18:56 Uhr

Geo Standort basierend auf IP Adresse PHP closed
David Kroft

Holen Sie sich Geo-IP-Informationen

Fordert einen Geo-IP-Server (netip.de) zur Überprüfung an, gibt zurück, wo sich eine IP befindet (Host, Bundesland, Land, Stadt).

<?php
       $ip='94.219.40.96';
       print_r(geoCheckIP($ip));
       //Array ( [domain] => dslb-094-219-040-096.pools.arcor-ip.net [country] => DE - Germany [state] => Hessen [town] => Erzhausen )

       //Get an array with geoip-infodata
       function geoCheckIP($ip)
       {
               //check, if the provided ip is valid
               if(!filter_var($ip, FILTER_VALIDATE_IP))
               {
                       throw new InvalidArgumentException("IP is not valid");
               }

               //contact ip-server
               $response=@file_get_contents('http://www.netip.de/search?query='.$ip);
               if (empty($response))
               {
                       throw new InvalidArgumentException("Error contacting Geo-IP-Server");
               }

               //Array containing all regex-patterns necessary to extract ip-geoinfo from page
               $patterns=array();
               $patterns["domain"] = '#Domain: (.*?)&nbsp;#i';
               $patterns["country"] = '#Country: (.*?)&nbsp;#i';
               $patterns["state"] = '#State/Region: (.*?)<br#i';
               $patterns["town"] = '#City: (.*?)<br#i';

               //Array where results will be stored
               $ipInfo=array();

               //check response from ipserver for above patterns
               foreach ($patterns as $key => $pattern)
               {
                       //store the result in array
                       $ipInfo[$key] = preg_match($pattern,$response,$value) && !empty($value[1]) ? $value[1] : 'not found';
               }

               return $ipInfo;
       }

?>

  • Das ist nett, aber ich würde eine Datenbank bevorzugen, da unsere Website Tausende von Anfragen erhält und die Geo-IP-Anfrage pro Seitenladevorgang gestellt wird.

    – Latox

    14. Oktober 11 um 11:51 Uhr

  • @latox Ich habe gerade meine Frage aktualisiert, schau dir diesen Link an, sollte das sein, was du nach Nomsayn suchst?

    – David Croft

    14. Oktober 11 um 11:53 Uhr

  • @Latox – Wenn Sie einen lokalen Cache mit den Ergebnissen Ihrer API-Aufrufe unterhalten, müssen Sie nur den Overhead eines API-Aufrufs für jede neue IP-Adresse bezahlen. Aber die DB im obigen Link scheint perfekt für Ihre Anwendung zu sein, solange Sie keine tagesaktuelle Genauigkeit benötigen.

    – Petrus

    14. Oktober 11 um 12:17 Uhr


  • Hey, kennst du die Nutzungsbedingungen für diese Seite? wie maximale Abfrage pro Tag/Stunde, Lizenzvereinbarung … ich kann es anscheinend nicht auf seiner Seite finden … TIA: D

    – Kelvin Barsana

    8. Oktober 14 um 9:24 Uhr

  • Dieser Beitrag auf PHPANDSTUFF ist voll von falschen Kommentaren und stützt sich auf eine regelmäßig aktualisierte DB. Überhaupt nicht nützlich. Wo ist eine universelle API, die diese Daten asynchron abrufen kann?

    – 3 Dom

    28. Januar 15 um 12:22 Uhr

Das Beste und Neueste ist GeoplugginAPI, es ist kostenlos und ohne Einschränkungen, die ich für diese meine Website verwende http://spidersoft.in für ortsbezogenen Download lesen Sie mehr unter diesem Link

http://geoplugin.com

Probier diese http://ip.codehelper.io/

Hier ist PHP-Code. Der Code wird Ihre Anfrage automatisch zwischenspeichern, sodass Ihr Server nicht mehrere Anfragen sendet. Geben Sie IP-Adresse, Land, Stadt und weitere Informationen zurück.

<?php
// Required Libraries
require_once("ip.codehelper.io.php");
require_once("php_fast_cache.php");

// New Class
$_ip = new ip_codehelper();

// Detect Real IP Address & Location
$real_client_ip_address = $_ip->getRealIP();
$visitor_location       = $_ip->getLocation($real_client_ip_address);

// Output result
echo $visitor_location['Country']."";
echo "<pre>";
print_r($visitor_location);

Der Marktführer in diesem Bereich und einer, der eine Unternehmenslösung anbietet, ist Digitales Element. Sie bieten eine breite Palette von APIs, einschließlich PHP, für den Zugriff auf ihren Server, den Sie lokal installieren oder über einen Webdienst aufrufen können. Ihre Daten sind von hoher Qualität und die Leistung ihrer Lösung ist ziemlich gut. MaxMind ist eine weitere Option, die gute Kritiken erhält.

Für die beste Genauigkeit sollten Sie sich für einen Dienst oder eine Lösung entscheiden, bei der Sie wöchentliche Updates erhalten, da sich diese Dinge innerhalb eines bestimmten Netzwerks ziemlich ändern können. Die Kosten hängen von der Häufigkeit der Aktualisierungen, der Granularität der Geodaten und der Anzahl der gewünschten zusätzlichen Felder oder Datenbanken ab. Einige Anbieter bieten Sprache, Demografie, Unternehmen und Domain an, um nur einige zu nennen.

.

787460cookie-checkGeo-Standort basierend auf IP-Adresse – PHP [closed]

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy