Domaincheck .nl Domains

mRc

Grünschnabel
Hallo ich schreib im moment einen Domaincheck der nur ausgeben soll ob Frei oda Belegt klappt auch wunderbar mit fast allen Domains die ich integriert habe doch ich habe ein Sorgenkind und zwar die .nl von unsern Lieben Nachbar :>

Hier mal funktionierender Code für z.B. .it Domain
Code:
if ($id==15)
{
$fp = fsockopen("whois.ripe.net", 43, $errno, $errstr);
set_socket_blocking($fp, 0);
fputs($fp, "$domain\n");
while (!feof($fp))
{
$result = trim(fgets($fp, 2048));
if (substr($result,0, 16) == "No entries found")
{
printf("Die Domain $domain ist Frei <a href=http://www.blubblub.de>[ Bestellen ]</a>");
}
else if (substr($result, 0, 7) == "domain:")
{
printf("Die Domain $domain ist Belegt");
}
}
fclose($fp);
}

Und hier nun .nl die nicht klappt
Code:
if ($id==14)
{
$fp = fsockopen("whois.domain-registry.nl", 43, $errno, $errstr);
set_socket_blocking($fp, 0);
fputs($fp, "$domain\n");
while (!feof($fp))
{
$result = trim(fgets($fp, 2048));
if (substr($result,0, 4) == "free")
{
printf("Die Domain $domain ist Frei <a href=http://www.blubblub.de>[ Bestellen ]</a>");
}
else if (substr($result, 0, 12) == "Domain name:")
{
printf("Die Domain $domain ist Belegt");
}
}
fclose($fp);
}

ich hoffe mir kann wer helfen den fehler zu beheben bzw. nen besseren vorschlag für .nl zu machen.

danke im voraus

mRc
 
Hallo...
"free" steht bei den Käsköppen:-) nicht am Zeilenanfang(falls vorhanden)...da steht
domain.nl is free


Versuchs mal so:
Code:
if (preg_match("/free\s*$/",$result))
        {
        printf("Die Domain $domain ist Frei <a href=http://www.blubblub.de>[ Bestellen ]</a>");
        }
    else if (preg_match("/^\s*Domain name:/",$result))
        {
        printf("Die Domain $domain ist Belegt");
        }
 
Zuletzt bearbeitet:
Immer diese regex fixierten, das wird doch viel zu lahm..
PHP:
<?php
/*****
* boolean nl_domain_is_free( string domainname)
* Überprüft ob eine *.nl domain noch frei ist..
* Wenn die domain noch frei ist wird TRUE zurückgegeben
* anderenfals FALSE, bei einem fehler wird NULL zurückgegeben..
*/
function nl_domain_is_free($domainname)
{
  $domainname = str_replace('.nl', '', $domainname);
  $uri = 'http://www.domain-registry.nl/sidn/flat/Domeinnamen/Is_de_naam_nog_vrij_/index.shtml?domein='.$domainname;
  $content = @file_get_contents($uri) or return NULL;
  if(strstr($content, 'domein is vrij'))
    return TRUE;
  return FALSE;
}
?>
Is schneller, unkomplizierter, und funktioniert..
Ein wenig holländisch sollte man können, das wort free heißt in hollöndisch vrij
 
:-)
Immer diese RegExp-Ignoranten.

Wo der Geschwindigkeitsvorteil dabei liegt, eine komplette HTML-Datei mit ca.18 kB anzufordern, wüsst ich jetzt nicht....vom Traffic ganz zu schweigen.

Abgesehen davon forderst du etwas komplett anderes an, wie du beim Vergleich der URL's bemerken wirst....in dem, was bei mRc und mir angefordert wird, steht free;)
 
eh leute ich dank euch vielmals ich werd das gleich testen ;D

und seid nit zu grob zu mir dafür das ich nen php anfänger bin, sag ich mal hab bin ich schon recht weit gekommen so das es klappt aber die käseköpfe machen es einem nicht leicht ;D

mfg

mRc
 
Original geschrieben von fatalus
:-)
Immer diese RegExp-Ignoranten.

Wo der Geschwindigkeitsvorteil dabei liegt, eine komplette HTML-Datei mit ca.18 kB anzufordern, wüsst ich jetzt nicht....vom Traffic ganz zu schweigen.

Abgesehen davon forderst du etwas komplett anderes an, wie du beim Vergleich der URL's bemerken wirst....in dem, was bei mRc und mir angefordert wird, steht free;)
strstr() funktioniert auch bei deinem socket result und wenn du mal genau schaust, wirst du merken das du von whois.domain-registry.nl gar keine antwort bekommst ;-) *zumindest bei mir so*
Naja, jedem das seine!?
Ich könnt ja jetzt noch über das printf etc meckern..
Aber ich lass es lieber sein ;-)
 
wenn du mal genau schaust, wirst du merken das du von whois.domain-registry.nl gar keine antwort bekommst

Ich bekomme Antwort:-)

Ich könnt ja jetzt noch über das printf etc meckern
Das print_f() hab ich so aus dem vorgegeben Code übernommen....die Problemstellung bestand hier darin, dir richtige Information zu bekommen, nicht den optimalen Code......und nicht darin, herumzumeckern.

Aber wenns dir Freude bereitet...mecker herum...es ist schliesslich dein Adrenalinspiegel:suspekt:
 
Zuletzt bearbeitet:
meine güte was für eine diskussion, auf jedenfall nochmal danke an fatalus ich habs nun hinbekommen hatte wohl irgendwo nen schreibfehler drin :> jetzt klappts wunderbar

@MC Breit kann halt nicht jeder so begabt wie du sein..... ehrlich wahr

jeder fängt mal klein an also mecker nicht so an meinem code herum :D

mfg

mRc
 
Zurück