AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Wie funktioniert IdWhoIs (Indy)?
Thema durchsuchen
Ansicht
Themen-Optionen

Wie funktioniert IdWhoIs (Indy)?

Ein Thema von MisterNiceGuy · begonnen am 8. Aug 2005 · letzter Beitrag vom 10. Aug 2005
 
jensw_2000
(Gast)

n/a Beiträge
 
#24

Re: Wie funktioniert IdWhoIs (Indy)?

  Alt 9. Aug 2005, 23:03
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;
  Mit Zitat antworten Zitat
 


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 14:15 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