Stefan Einspender: Abfrage einer Liste von Domainnamen

Hallo ForumsleserInnen,

wegen der immer knapper werdenden de-Domains habe ich mich mit
einigen Freunden zusammengesetzt und beschlossen noch einige
(wahrscheinlich 3, max. 5 Stück) Namen zu registrieren.
Soweit alles kein Problem, nur leider sind schon sehr viele
davon vergeben, also haben wir jeder eine umfangreiche Liste
von Vorschlägen ausgearbeitet, welche nun geprüft werden
müssen.
Da es mit meinen Programmierkünsten in diesem Fall nicht soweit
her ist, meine Frage an euch: Wer kann mir eine gute Empfehlung
oder gar ein einfaches Script geben, wie man in der denic-daten-
bank (oder an anderer Stelle) die Existens einer Domain prüft,
als Rückgabewert reicht ein true oder false, nicht mehr.
Zur Verfügung stehen CGI (also Perl) oder auch PHP.
Die Liste liegt jetzt in der Form

wunschdomain1.de
wunschdomain2.de
wunschdomain3.de

vor, kann aber bei Bedarf auch anders formatiert werden.

Anmerkung: Es geht hier ausdrücklich _nicht_ darum hunderte/tausende
Domainnamen zu registrieren (Link:http://www.paeffgen.com/if/domisuche.php3),
sondern nur um eine Liste von etwa 200-300 Vorschlägen auf freie
Namen zu durchsuchen und von den freien maximal (!) 5 Domains
zu registrieren.

Viele Grüße aus Dresden und Danke für die nicht _self_-typische
Unterstützung,
Stefan Einspender

  1. Perl-Loesung:

    use LWP;
    use LWP::Simple;

    foreach $url (@liste) {
      $status = &testen($url);
      print "$url ist $status\n";
    }

    sub testen () {
      $content=get("http://www.stift-keppel.de");
      if ($content) {
        return "weg";
      } else {
        return "noch frei";
      }
    }

    Die Unterrutine liefert den Quellcode der Seite. Wenn es sowas gibt, dann existiert die Seite logischerweise.
    Es kann aber auch sein, dass eine existierende Seite nichts zurueckgibt.
    FAZIT:
    Du kannst die Adressen, die als besetzt gemeldet werden, von deiner Liste streichen. Wenn eine URL als frei gemeldet wird, ist dies aber noch kein eindeutiger Beweis, dass das auch stimmt.

    1. Hallo MM,

      danke erstmal für das Script, werde ich dann mal ausprobieren.

      FAZIT:
      Du kannst die Adressen, die als besetzt gemeldet werden, von deiner Liste streichen. Wenn eine URL als frei gemeldet wird, ist dies aber noch kein eindeutiger Beweis, dass das auch stimmt.

      Genau, dass ist der springende Punkt, eine registrierte Domain
      muß ja nicht über http-Protokoll erreichbar sein und auch nicht
      über http-Inhalte verfügen, die Frage ist jetzt nur, wieviele
      von meiner Domainliste solche Fälle sind ;)

      MFG, Stefan Einspender

  2. Hallo Stefan,

    Hallo ForumsleserInnen,
    [...]
    Wer kann mir eine gute Empfehlung
    oder gar ein einfaches Script geben, wie man in der denic-daten-
    bank (oder an anderer Stelle) die Existens einer Domain prüft,
    als Rückgabewert reicht ein true oder false, nicht mehr.
    Zur Verfügung stehen CGI (also Perl) oder auch PHP.
    Die Liste liegt jetzt in der Form

    wunschdomain1.de
    wunschdomain2.de
    wunschdomain3.de

    vor, kann aber bei Bedarf auch anders formatiert werden.

    Versuch' mal das:

    #!perl -w

    use LWP::UserAgent;
    use HTTP::Request;
    use strict;

    $=1;

    my $ua= new LWP::UserAgent;
    my $r = HTTP::Request->new
    'POST','http://www.denic.de/servlet/Whois');
    $r->content_type('application/x-www-form-urlencoded');

    while (<DATA>) {
    chomp;
    print "$_:\tfrei\n" if isfrei($_);
    }

    sub isfrei {
    my $dom=shift;
    local $/ =undef;
            $r->content("domainname=$dom&submit=Suchen");
    my $resp= $ua->request($r)->content;
    return 1 if $resp=~ /.*ist noch frei/;
    }

    __DATA__
    domain_1.de
    domain_2.de
    domain_n.de

    Ist jetzt auf die schnelle zusammenprogrammiert und sicherlich nicht optimiert, duerfte aber reichen.

    Anzumerken ist vielleicht, dass es ein spezielles Modul (Net::Whois) gibt um eine Whois-Datenbank (Standart Internic) abzufragen, was sicherlich effizienter waere. Dies habe ich allerdings gerade nicht auf meinem Rechner, deswegen der "Umweg" ueber den HTTP::Request.

    Viele Grüße aus Dresden und Danke für die nicht _self_-typische
    Unterstützung,
    Stefan Einspender

    Gruss
      Kai

  3. Hallo Stefan

    versuch doch mal

    http://www.alldomains.com/adv-search/index.html

    Da bekommst du für einen Domain-Namen die Verfügbarkeit in verschiedenen TLD frei Haus geliefert.

    Viele Grüße

    Andreas