![]() |
Wie funktioniert IdWhoIs (Indy)?
Hi, ich versuche die Informationen, die man einer domain entlocken kann in ein Memo zu laden.
Dazu wollte ich die Indykomponenten benutzen, allerdings scheitere ich seit etwa einer Stunde kläglich am Code. Ich hab mir schon die 11Mb große Dokumentation von Indy 10 runtergeladen, aber dadurch komme ich auch nicht wirklich weiter. Mit dem Code
Delphi-Quellcode:
bekomme ich andauernd eine Fehlermeldung.
idwhois1.Host := 'www.google.de';
idwhois1.Connect; showmessage(idWhois1.WhoIs('www.google.de')); (Socket Error # 10060. Connection timed out) :twisted: Kann mir einer helfen? Bestimmt :) MfG |
Re: Wie funktioniert IdWhoIs (Indy)?
dir ist klar, dass du nicht verbunden bist, und deshalb den header nicht auslesen kannst, oder?
|
Re: Wie funktioniert IdWhoIs (Indy)?
hö? Aber ich connecte doch!? :shock:
|
Re: Wie funktioniert IdWhoIs (Indy)?
wenn du die fehlermeldung kriegst, dass beim verbinden eine zeitüberschreitung aufgetreten ist, bist du wohl nicht verbunden.
Delphi-Quellcode:
if TIDWhoIs.Connected then
|
Re: Wie funktioniert IdWhoIs (Indy)?
Gib bei Host mal whois.internic.net ein...
|
Re: Wie funktioniert IdWhoIs (Indy)?
Keine Chance, immer das gleiche...
Und welche Funktion hat der Host? Ist das die Domain über die ich etwas in Erfahrung bringen will? |
Re: Wie funktioniert IdWhoIs (Indy)?
Hm jetzt bekomme ich den Fehlertyp 11004... Immerhin scheint er nun zu verbinden, aber wie gehts weiter? :/
|
Re: Wie funktioniert IdWhoIs (Indy)?
Zitat:
Delphi-Quellcode:
d.h. das kann auch gar kein anderes resultat bringen.
procedure TIdWHOIS.InitComponent;
begin inherited; Host := 'whois.internic.net'; {Do not Localize} Port := IdPORT_WHOIS; end; Zitat:
![]() ![]() ![]() versuch doch mal die ip statt des hosts zu verwenden. |
Re: Wie funktioniert IdWhoIs (Indy)?
Vielleicht ne dumme Frage, aber wie bekomme ich die IP der Adresse raus?
|
Re: Wie funktioniert IdWhoIs (Indy)?
Stichwort DNS:
![]() bzw. um das herauszubekommen in der Eingabeaufforderung die Befehle ping bzw. tracert verwenden. bsp: ping ![]() ![]() |
Re: Wie funktioniert IdWhoIs (Indy)?
vielleicht auch mal ne andere adresse als google verwenden, immerhin verweigert google beim idhttp mit der standarteinstellung für client(oder wie das heißt) den datantransfer
Gruß tn249 |
Re: Wie funktioniert IdWhoIs (Indy)?
So sollte es klappen ... funktioniert jedenfalls bei mir ..
Delphi-Quellcode:
try
idWhois.Host:='whois.internic.net'; idWhois.ASCIIFilter:=true; memo1.Lines.Text:=idWhois.WhoIs('borland.com'); finally idWhois.Disconnect; // nur sicherheitshalber disconnecten idWhois.DisconnectSocket; // nur sicherheitshalber disconnecten end; |
Re: Wie funktioniert IdWhoIs (Indy)?
@jensw_2000: Welche IndyVersion nutzt du? Ich habe es mit 10 probiert, aber es ging immernoch nicht. Werd jetzt mal Indy 9 ausprobieren...
|
Re: Wie funktioniert IdWhoIs (Indy)?
ah mit Indy 9 gehts :) Aber ich bekomme nur Informationen der Art:
Domain: ![]() Status: Invalid Nichts über Admin, Beistzer oder anderes :-/ |
Re: Wie funktioniert IdWhoIs (Indy)?
Hi,
soweit ich weiss, musst Du das "www" nicht mit angeben. mfG mirage228 |
Re: Wie funktioniert IdWhoIs (Indy)?
Also ich finde keine Funktion, die mir mehr Informationen ausgibt als den DomainName, immerhin bekomme ich jetzt schon den Status connected, dank Mirage ;)
|
Re: Wie funktioniert IdWhoIs (Indy)?
Schau mal in deinen 2. Thread z diesem Thema :zwinker:
Zitat:
Mit folgendem Code bekomme ich brauchbare Ergebnisse ...
Delphi-Quellcode:
try
idWhois.Host:='whois.internic.net'; idWhois.ASCIIFilter:=true; memo1.Lines.Text:=idWhois.WhoIs('borland.com'); finally idWhois.Disconnect; // nur sicherheitshalber disconnecten idWhois.DisconnectSocket; // nur sicherheitshalber disconnecten end;
Code:
Whois Server Version 1.3
Domain names in the .com and .net domains can now be registered with many different competing registrars. Go to [url]http://www.internic.net[/url] for detailed information. Domain Name: BORLAND.COM Registrar: EMARKMONITOR INC. DBA MARKMONITOR Whois Server: whois.markmonitor.com Referral URL: [url]http://www.markmonitor.com[/url] Name Server: NS.BORLAND.COM Name Server: NS1.BORLAND.COM Name Server: NS2.BORLAND.COM Status: REGISTRAR-LOCK Updated Date: 22-jul-2005 Creation Date: 11-jan-1991 Expiration Date: 10-jan-2006 >>> Last update of whois database: Tue, 9 Aug 2005 02:00:44 EDT <<< |
Re: Wie funktioniert IdWhoIs (Indy)?
Eine WhoIs Abfrage über
![]()
Code:
Domaindaten
Domain: web.de Letzte Aktualisierung: 16.04.2004 Domaininhaber Der Domaininhaber ist der Vertragspartner der DENIC und damit der an der Domain materiell Berechtigte. Name und Adresse: WEB.DE AG Amalienbadstrasse 41 D-76227 Karlsruhe Germany Administrativer Ansprechpartner Der administrative Ansprechpartner (admin-c) ist die vom Domaininhaber benannte natürliche Person, die als sein Bevollmächtigter berechtigt und gegenüber DENIC auch verpflichtet ist, sämtliche die Domain web.de betreffenden Angelegenheiten verbindlich zu entscheiden. Name: Michael Greve Kontakttyp: PERSON Adresse: WEB.DE AG Amalienbadstrasse 41 PLZ: 76227 Stadt: Karlsruhe Land: DE Technischer Ansprechpartner, Zonenverwalter Der technische Ansprechpartner (tech-c) betreut die Domain web.de in technischer Hinsicht. Der Zonenverwalter (zone-c) betreut die Nameserver der Domain web.de. Name: Hostmaster Cinetic GmbH Kontakttyp: PERSON Adresse: Cinetic GmbH Michael Greve / Hr. Stoll / Hr. Merz Amalienbadstr. 41 PLZ: 76227 Stadt: Karlsruhe Land: DE Telefon: +49 721 94329 0 Telefax: +49 721 94329 22 E-Mail: [email]hostmaster@cinetic.de[/email] Technische Daten Nameserver: nsx1.cinetic.de. Nameserver: nsx2.cinetic.de. |
Re: Wie funktioniert IdWhoIs (Indy)?
Liste der Anhänge anzeigen (Anzahl: 1)
Also beide anderen WhoIs-Server ergeben nun vernünftige Ergebnisse, aber whois.denic.de funktioniert nicht!!! :wall:
Edit: Gibst du als host: whois.denic.de ein? Edit2: Könnt ihr mal mein Programm testen bitte? Mit den Einstellungen: Domain: web.de WhoIs-Server: whois.denic.de Danke :) |
Re: Wie funktioniert IdWhoIs (Indy)?
1. Ja, der Server whois.denic.de ist richtig
1a) Der Server funktioniet richtig, ebenso wie dein Progamm. Die Daten-Ausgabe über das "klassische" Whois Protokoll wurden bei denic vor ca. einem Jahr jedoch vollständig gesperrt um Missbrauch der Daten zu vermeiden. whois.denic.de gibt dir nur noch den Domainnamen und den Status "Connect" für "Domainname vergeben" und "Free" für "Domainname verfügbar" zurück. 1b) Du kannst die Infos immernoch vollständig auf der Website der DENIC abfragen, nachdem du die Nutzungsbedingungen akteptiert hast. Eventuell kannst du ja für deutsche Domains eine automatisierte Abfrage der WHOIS Daten per http bauen und die Rückgabedaten aus den HTML Code herausfischen. Das würde ich dann aber mit idHTTP machen und nicht über TWebBrowser. idHTTP ist nach meinen Tests mehr als 4 mal so schnell und daher zum Parsen perfekt geeignet. 2. Dein Pogramm funktioniert super :thumb: Schöne Grüße, Jens :hi: |
Re: Wie funktioniert IdWhoIs (Indy)?
oh danke, das ist nett :) Aber ich bin halt schon ein bissl traurig, dass also somit keine Abfrage (de-Adressen) über mein Programm möglich ist. :(
Kennst jemand vielleicht noch einen anderen Whois-Server für .de-Adressen? Ursprünglich ist das Programm ja dazu da Adressen von Mario Dolzer zu erkennen und den User davor zu warnen, und der hat ja nun mal fast ausschließlich .de-Adressen. |
Re: Wie funktioniert IdWhoIs (Indy)?
Das könnte ggf. interessant für dich sein.
![]() Das Perl Script kann als OS heruntergeladen werden. (GPL) In "Whois.pm" steht, der das Prog für DE Domains den whois.denic.de benutzen soll. Ausschnitt aus whois.pm von Erik Heinz <erik@iks-jena.de> ----------------------------------------------------------------------------------------------- 'com' => 'whois.internic.net', 'de' => 'whois.denic.de', 'edu' => 'whois.educause.net', 'ee' => 'whois.eenet.ee', 'es' => 'https://www.nic.es/esnic/servlet/WhoisControllerHTML?tipo=dominio&dominio=%D', ----------------------------------------------------------------------------------------------- ...oder baue dir einfach flink einen HTML Parser und nutze die o.A. Website direkt zur Whois Abfrage. Die schreiben auf ihrer Website nichts davon, das Parsen unerwünscht oder untersagt ist ... |
Re: Wie funktioniert IdWhoIs (Indy)?
Danke, die Tipps sind echt hilfreich! :) Ich hab mir mal die Dokumentation zu whois.denic.de durchgelesen und da steht, dass man per Parameterübergabe auch mehr Informationen herausholen kann. Leider akzeptiert die Indykomponente keine Parameter...
Edit: Das mit der Website ist schwierig, ich benutze Delphi 7 personal, da ist so weit ich weiß kein Webbroser drin. |
Re: Wie funktioniert IdWhoIs (Indy)?
Warum nicht einfach über idHTTP ?
Delphi-Quellcode:
function GetWhoisByWeb(Domain:String):String;
// Das Parser Gründgerüst habe ich aus der DP, Autor leider unbekannt // Diese Funktion nutz HTTP Dienste von [url]www.iks-jena.de[/url] // var idHTTP:TidHTTP; ParamData : TStringStream; s:String; f:Textfile; begin ParamData := TStringStream.Create(''); //Result initialisieren Result:=''; // idHTTP dynamisch erzeugen idHTTP:=TIDHTTP.Create(nil); try // Parameter search=erstellen und mit Domainnamen versehen ParamData .WriteString('search=' + Domain); // Post wie von einer HTML-Form simulieren IdHTTP.Request.ContentType := 'application/x-www-form-urlencoded'; // Ansender = Website IdHTTP.Request.Referer := 'http://www.iks-jena.de/cgi-bin/whois'; // Bin mir nicht sicher ob der Rest gebraucht wird... aber so machts der Mozilla Firefox // sollte also nicht verkehrt sein :) IdHTTP.Request.AcceptCharset := 'ISO-8859-1,utf-8;q=0.7,*;q=0.7'; IdHTTP.Request.AcceptEncoding := 'gzip,deflate'; IdHTTP.Request.AcceptLanguage := 'de-de,de;q=0.8,en-us;q=0.5,en;q=0.3'; try // idHTTP (Indy7) aufrufen und Suche posten s:=IdHTTP.Post('http://www.iks-jena.de/cgi-bin/whois', ParamData); except on e:Exxeption do s:='Schwehrer Fehler beim Absenden des Befehls:'+#13#10+e.message; end; // gewünschten Part aus der "Result-Website" ausschneiden if pos(' <PRE>',s)<>0 then begin S:=Copy(s,Pos(' <PRE>',s)+9,length(s)); s:=Copy(s,1,pos('</PRE>',s)-1); end else begin // oder Fehler ausgeben s:='Prüfung nicht möglich!'+#13#10+ 'Entweder sind Ihre Eingaben unvollständig oder'+#13#10+ 'es besteht keine Verbindung zu http://www.iks-jena.de' ; end; finally // idHTTP freigeben FreeAndNIL(idHTTP); end; Result:=s; end; Aufruf:
Delphi-Quellcode:
TForm1.Button1Click(sender:tobject);
begin Memo1.lines.text:=GetWhoisByWeb('web.de'); end; |
Re: Wie funktioniert IdWhoIs (Indy)?
Klasse funktioniert, vielen Dank! Hast was gut :mrgreen:
|
Re: Wie funktioniert IdWhoIs (Indy)?
Naja ...
so ganz nicht :roll: Man hat offensichtlich nur eine beschränkte Anzahl Abfragen zur Verfügung ...
Code:
%REFERRAL START
Connection refused; access control limit reached. %%REFERRAL END |
Re: Wie funktioniert IdWhoIs (Indy)?
weißt du nach wievielen Anfragen das kommt? Also bei mir müssen es heute abend an die 50 gewesen sein...
Übringes! Das Programm ist fertig :D Hab mich lange nicht mehr so gefreut, dass es endlich funktioniert hat!! Ich hänge es mal an... Edit1: Ich mach einen neues Thema auf und lösche das Programm hier. |
Re: Wie funktioniert IdWhoIs (Indy)?
Zitat:
Habe versehentlich das falsche "Spielprojekt" erwischt. Die besagte Meldung kam noch unter Verwendung von idWHOIS. Mit der beschriebenen Variante funktionierts sauber. Ich habe bisher auch nur knapp 20 Testabfragen gemacht. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:24 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz