AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

GeoIP nur Error

Ein Thema von SyntaxXx · begonnen am 18. Jul 2010 · letzter Beitrag vom 19. Jul 2010
Antwort Antwort
SyntaxXx

Registriert seit: 14. Dez 2008
328 Beiträge
 
Delphi XE4 Architect
 
#1

GeoIP nur Error

  Alt 18. Jul 2010, 22:13
Hi zusammen, und zwar möchte ich in meinem Progamm das Land einer IP anzeigen lassen.
Sprich ich gebe in meinem Programm eine IP an und über GeoIP möchte ich mir das Land ausgeben lassen.

Da ich im mom leider nicht so viel geld hab habe ich die Free Version genommen.

Doch leider bekomme ich immer nur "Error" ausgegeben.

Folgende Funcion habe ich benutzt:

Delphi-Quellcode:
function TForm1.LookupCountry(IP : String): string;
var
   GeoIP: TGeoIP;
   GeoIPCountry: TGeoIPCountry;
begin
  GeoIP := TGeoIP.Create('GeoIP.dat');
  try
    if GeoIP.GetCountry(IP, GeoIPCountry) = GEOIP_SUCCESS then
    begin
      Result := GeoIPCountry.CountryName;
    end
    else
    begin
      Result := 'Error';
    end;
  finally
    GeoIP.Free;
  end;
end;
Daraus schließe ich jetzt einfach mal, das die Datenbank von GeoIP, welche ich mir geladen hab die IP Range nicht kennt, also nicht weiß, aus welchem Land die IP kommt.

Könnt ihr mir vielleicht weiter helfen?

Habe es mit meiner IP versucht, welche ja eigendlich in jeder IP Range drin stehen müsste.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

AW: GeoIP nur Error

  Alt 18. Jul 2010, 22:37
Wird im Konstruktor GeoIP := TGeoIP.Create('GeoIP.dat'); der Pfad zur Datenbankdatei angegeben? Wenn ja, wo soll er deiner Meinung nach die Datei finden?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
SyntaxXx

Registriert seit: 14. Dez 2008
328 Beiträge
 
Delphi XE4 Architect
 
#3

AW: GeoIP nur Error

  Alt 18. Jul 2010, 22:43
Ja so denke ich mir das. Die funktion stammt von GeoIP selbst.
Stand unter "Samples".

Er würde ja demnach die Datei da suchen, wo auch die kompilierte .exe von meinem Programm liegt.
  Mit Zitat antworten Zitat
Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#4

AW: GeoIP nur Error

  Alt 18. Jul 2010, 22:46
und liegt da auch die Datenbankdatei?

Bernhard

EDIT: Benutze doch mal deine eigene öffentliche IP, da müsste was kommen oder schau die IP von Google nach. Da sollte auch was kommen.
Bernhard
Iliacos intra muros peccatur et extra!
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#5

AW: GeoIP nur Error

  Alt 18. Jul 2010, 22:47
Er würde ja demnach die Datei da suchen, wo auch die kompilierte .exe von meinem Programm liegt.
Nö. Er sucht sie im aktuellem Arbeitsverzeichnis.Das kann das Programmverzeichnis sein, muss aber nicht.

Siehe auch hier: http://www.michael-puff.de/Artikel/G...irectory.shtml
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#6

AW: GeoIP nur Error

  Alt 18. Jul 2010, 22:53
oder mal mit FileExists prüffen, ob die Datei existiert.

Bernhard
Bernhard
Iliacos intra muros peccatur et extra!
  Mit Zitat antworten Zitat
SyntaxXx

Registriert seit: 14. Dez 2008
328 Beiträge
 
Delphi XE4 Architect
 
#7

AW: GeoIP nur Error

  Alt 18. Jul 2010, 23:01
Also habs jetzt so gemacht wie ihr gesagt habt.
Also der Pfad stimmt, denn wenn ich die Datei umbenenne bekomme ich einen Fehler, das die Datei nicht gefunden wurde.

Habs mal mit meiner IP probiert, bekomme aber immer "Error" ausgegeben.
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.768 Beiträge
 
Delphi 10.4 Sydney
 
#8

AW: GeoIP nur Error

  Alt 19. Jul 2010, 08:54
Guten Morgen,

wie wäre es, wenn Du einmal den Rückgabewert von GetCountry auswertest?
Delphi-Quellcode:
function TForm1.LookupCountry(IP : String): string;
var
   GeoIP: TGeoIP;
   GeoIPCountry: TGeoIPCountry;
begin
  GeoIP := TGeoIP.Create('GeoIP.dat');
  try
    returnCode := GeoIP.GetCountry(IP, GeoIPCountry);
    if returnCode = GEOIP_SUCCESS then
    begin
      Result := GeoIPCountry.CountryName;
    end
    else
    begin
      Result := 'Error ' + IntToStr(returnCode);
    end;
  finally
    GeoIP.Free;
  end;
end;
Von welchem Typ returnCode sein muss can ich Dir nicht sagen
sollte aber in der Doku zu finden sein.
Ich nehme an es ist Byte oder Integer.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:40 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz