Entwickler-Ecke

Internet / Netzwerk - Land einer Proxy-Server IP herausfinden?


Seven of Nine - Fr 30.11.12 10:47
Titel: Land einer Proxy-Server IP herausfinden?
Ich möchte aus einer Liste von Proxy-Servern diejenigen herausfinden, "welche aus einem gewissen land (zB US) sind"

Es gibt einige URLs bei denen man per HTTP.Get Anfrage eine IP übergeben kann und die dann die gesuchten Infos retournieren.
Alle die ich bisher kenne, verweigern aber nach einer gewissen Anzahl von Suchanfragen (zB 10 Suchen) den Dienst

Gibt es Services die das kostenlos für eine nicht begrenzte Anzahl an Proxy-IPs erledigen?
Wichtig ist mir dabei eigentlich nur das Ursprungsland.

lG Martin


Xion - Fr 30.11.12 17:48

guck dir das mal an:

http://dev.maxmind.com/geoip/geolite

Dort gibt es csv-ähnliche Dateien welche diese Infos enthalten.


Seven of Nine - Mi 05.12.12 03:19

Danke Xion!
falls jemand das mal benötigt hier die Infos wie man sowas in ein eigenes programm einbaut

1.) Download der "GeoLite Country" database von http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
Die *.dat Datei extrahieren und in ein Verzeichnis speichern auf das die eigene Applikation zugreifen kann
(zB das HomeDir der eigenen Applikation, dort könnten auch Problemlos versions-Updates der GeoIP.dat eingespielt werden ohne Windows UAC)

2.) Vorbereitungen der eigenen Applikation auf
2a)
uses GeoIP;

2b)
Var
GeoIP: TGeoIP;
GeoIPCountry: TGeoIPCountry;

2e)
Function TForm1.GetIPCountryStr(IP:String):String;

2c,d)
"FormCreate" Ereignis -> GeoIP := TGeoIP.Create({MyHomeDir + }'GeoIP.dat'); //Location der Datei. Zur Sicherheit würde ich noch ein If FileExists dazupacken!
"OnDestroy" Ereignis -> GeoIP.Free;

3.) Routine zum abfrage des Landes einer gewissen IP



Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
Function TForm1.GetIPCountryStr(IP:String):String;
begin
  try
    if GeoIP.GetCountry(IP, GeoIPCountry) = GEOIP_SUCCESS
      then Result := GeoIPCountry.CountryName
      else Result := 'ERROR';
  except
      Result := 'We got an exeption!';
  end;
end;




4.) Leicht modifizierter Delphi-Wrapper für die GeoIP.dat siehe Dateianhang (Anpassung Unicode Strings)


Viel Spaß
Martin


Serbsis - Di 11.12.12 09:50

Hey cool, danke. Ich benötige es zwar grad nicht unbedingt, habs mir aber zur Sicherheit mal rauskopiert, falls es dann doch irgendwann mal benötigt wird :)