Wunsch-domain abfrage
Ische
- html
Hallo,
kann mir jemand sagen wie ich und mit was ich eine abfrage für wunsch-domains (also ob sie noch frei ist und so) programmieren kann ?
mfg
Ische
Moin,
kann mir jemand sagen wie ich und mit was ich eine abfrage für wunsch-domains (also ob sie noch frei ist und so) programmieren kann ?
Klar, du musst nur eine Verbindung zu einem Whois-Server aufbauen (idealerweise einem der für die entsprechende tld zuständig ist, etwa whois.denic.de für .de-Domains) und ihn danach fragen. Das dafür zuständige Protokoll ist in RFC 954 http://www.rfc-editor.org/rfc/rfc954.txt beschrieben. Es läuft im Prinzip darauf hinaus sich mit Port 43 (TCP) zu verbinden und den Domainnamen gefolgt von einem Zeilenumbruch (CRLF) zu senden. Als Antwort bekommst du den Whois-Eintrag bzw. die Information, dass nichts gefunden wurde.
--
Henryk Plötz
Grüße von der Ostsee
Hi!
Klar, du musst nur eine Verbindung zu einem Whois-Server aufbauen (idealerweise einem der für die entsprechende tld zuständig ist, etwa whois.denic.de für .de-Domains) und ihn danach fragen. Das dafür zuständige Protokoll ist in RFC 954 http://www.rfc-editor.org/rfc/rfc954.txt beschrieben. Es läuft im Prinzip darauf hinaus sich mit Port 43 (TCP) zu verbinden und den Domainnamen gefolgt von einem Zeilenumbruch (CRLF) zu senden. Als Antwort bekommst du den Whois-Eintrag bzw. die Information, dass nichts gefunden wurde.
Da habe ich ja noch nie was von gehört, interessante Sache! Ich habe das mal veersucht:
<?php
$host = "web.de";
$fp = fsockopen("whois.denic.de", 43);
fputs($fp, $host."<CRLF>");
while(!feof($fp)) {
$res .= fread($fp,1);
}
fclose($fp);
echo $res;
?>
Das geht nicht, es wird bis auf einen Timeout gewartet.
Und nochwas, welche Server muß ich bei CNO Domains abfragen? whois.nic.com, usw?
Viele Grüße
Andreas
Moin,
Das geht nicht, es wird bis auf einen Timeout gewartet.
Du hast auch den Zeilenumbruch vergessen. fputs($fp, $host."\0x0D\0x0A"); dürfte funktionieren.
Und nochwas, welche Server muß ich bei CNO Domains abfragen? whois.nic.com, usw?
Ja, der scheint aber grade down zu sein, whois.internic.net hingegegen funktioniert.
--
Henryk Plötz
Grüße von der Ostsee
Hi!
Du hast auch den Zeilenumbruch vergessen. fputs($fp, $host."\0x0D\0x0A"); dürfte funktionieren.
nein! fputs($fp, $host."\n"); funktioniert, Deine Version nicht! Vielleicht wandelt PHP das selbst um?!
versuch mal
<?php
$host = "teamone.de";
$fp = fsockopen("whois.denic.de", 43);
fputs($fp, $host."\n");
while(!feof($fp)) {$res .= fread($fp,1);}
fclose($fp);
echo "<pre>$res</pre>";
?>
und
<?php
$host = "teamone.de";
$fp = fsockopen("whois.denic.de", 43);
fputs($fp, $host."\0x0D\0x0A");
while(!feof($fp)) {$res .= fread($fp,1);}
fclose($fp);
echo "<pre>$res</pre>";
?>
Grüße
Andreas
Ja, der scheint aber grade down zu sein, whois.internic.net hingegegen funktioniert.
ah ja, am besten die Endung mit nem Select-Feld ausählen lassen, klappt wirklich gut, danke Dir!
Nur wenn ich testen will ob eine Domain verfügbar ist, muß ich dann die komplette Ausgabe mit je einem regulären Ausdruck parsen, oder gibt es da irgendwelche kürzeren Ausgaben?
Grüße
Andreas
Moin,
Du hast auch den Zeilenumbruch vergessen. fputs($fp, $host."\0x0D\0x0A"); dürfte funktionieren.
nein! fputs($fp, $host."\n"); funktioniert, Deine Version nicht! Vielleicht wandelt PHP das selbst um?!
Schon wieder sorry, ich bin heute etwas durcheinander. Es muss natürlich fputs($fp, $host."\x0D\x0A"); heissen (ebenso im anderen Thread).
--
Henryk Plötz
Grüße von der Ostsee
Hi!
Aber wie funktionieren dann die Scripte der Provider, die Prüfen ob eine Domain noch frei ist, parsen die die Ausgabe die man so bekommt? Ich meine die Ausgabe kann sich ja auch mal verändern...!
Grüße
Andreas
Moin,
Aber wie funktionieren dann die Scripte der Provider, die Prüfen ob eine Domain noch frei ist, parsen die die Ausgabe die man so bekommt?
Schätze ich mal.
Ich meine die Ausgabe kann sich ja auch mal verändern...!
Denke nicht dass da so viel passieren wird. Bei einer Anfrage ohne Ergebnis scheint die Ausgabe zum Beispiel komplett aus Kommentarzeilen zu bestehen, wenn jedoch was gefunden wird, sieht das ganz anders aus.
--
Henryk Plötz
Grüße von der Ostsee
Hi!
Ich meine die Ausgabe kann sich ja auch mal verändern...!
Denke nicht dass da so viel passieren wird. Bei einer Anfrage ohne Ergebnis scheint die Ausgabe zum Beispiel komplett aus Kommentarzeilen zu bestehen, wenn jedoch was gefunden wird, sieht das ganz anders aus.
Na das war mir noch gar nicht aufgefallen ;-)
Also müßte man das ja theoretisch, wenn man die Ausgabe in $htmlstring hat wie folgt prüfen können:
if(preg_match("/[1]/", $htmlstring )){
echo "Domain belegt";
}
else {
echo "Domain noch frei";
}
Da das en Standard ist sollten sich doch wenigstens die paar Nics dran halten, oder? Aber vermutlich muß man das sich individuell mal anschauen. Weißt Du wo ich mehr Server finde die ich abfragen kann? internic sollte ja standard für alle CNO sein, vielleicht nic.com, nic.net und nic.org als Fallback. Ok, müte ich dann mal testen ob die das alle unterstützen, eine richtige Auflistung über die übergeordneten Anbieter wie denic gibt es sowas? Denn wenn ich nic.at oder nic.ch angucke, zweifele ich das das die offizielle Vergabestelle ist! Kann bei Google aber auch nichts sinnvolleres finden!
Grüße
Andreas
^% ↩︎
Moin,
Also müßte man das ja theoretisch, wenn man die Ausgabe in $htmlstring hat wie folgt prüfen können:
Schätze mal, im Zweifelsfall würde ich mir aber die Ausgabe von jedem abgefragten Whois-Server vorher einmal exemplarisch ansehen.
Ok, müte ich dann mal testen ob die das alle unterstützen, eine richtige Auflistung über die übergeordneten Anbieter wie denic gibt es sowas?
Ja, bei der IANA: http://www.iana.org/cctld/cctld-whois.htm. Eine Online-Liste der Whois-Server kenne ich leider nicht, aber du kannst dir mal http://freshmeat.net/projects/whois/?topic_id=149 ansehen, da ist eine tld_serv-list (oder so ähnlich) bei, die die meisten Whois-Server mit den zugehörigen ccTLDs enthält.
Denn wenn ich nic.at oder nic.ch angucke, zweifele ich das das die offizielle Vergabestelle ist!
Dass Switch Schweizer Domains vergibt, kann ich aus eigener Erfahrung bestätigen (siehe meine eMail-Addresse).
--
Henryk Plötz
Grüße von der Ostsee
hi!
Ja, bei der IANA: http://www.iana.org/cctld/cctld-whois.htm. Eine Online-Liste der Whois-Server kenne ich leider nicht, aber du kannst dir mal http://freshmeat.net/projects/whois/?topic_id=149 ansehen, da ist eine tld_serv-list (oder so ähnlich) bei, die die meisten Whois-Server mit den zugehörigen ccTLDs enthält.
Danke Dir! Aber verrate mir mal wie man an solche Adressen kommt, wirklichb super!
Denn wenn ich nic.at oder nic.ch angucke, zweifele ich das das die offizielle Vergabestelle ist!
Dass Switch Schweizer Domains vergibt, kann ich aus eigener Erfahrung bestätigen (siehe meine eMail-Addresse).
Aha. Aber in den Links ist ja denke ich alles gesagt, vor allem das Tool ist nicht schlecht, werde es wohl nicht installieren da ich das nicht brauche, aber der Code und die Serverlisten sinhd recht aufschlußreich ;-)
Viele Grüße
Andreas