[ ban17 @ 24.04.2009. 13:57 ] @
Tražio sam među gomilom sličnih tema, ali nisam mogao da nađem skript koji proverava dostupnost
RS domena.

Za org com i ostale mi je lako ali za RS domene skriptovi stalno prave greške.
Neki skriptovi mi rade polovično, ponekad čak izgleda da su savršeno ispravni.

http://domeni.gde.rs/provera.php je url stranice na kojoj bi trebalo da bude provera.

Uz to probao sam dva rešenja koja sam našao:
Code:

function is_valid_url($url){
    $url = @parse_url($url);
    if (!$url){return false;}
    $url = array_map('trim', $url);
    $url['port'] = (!isset($url['port'])) ? 80 : (int)$url['port'];
    $path = (isset($url['path'])) ? $url['path'] : '';
    if ($path == ''){$path = '/';}
    $path .= (isset($url['query'])) ? "?$url[query]" : '';
    if (isset($url['host']) AND $url['host'] != gethostbyname($url['host']))  {
        if (PHP_VERSION >= 5){$headers = get_headers("$url[scheme]://$url[host]:$url[port]$path");}
        else{
            $fp = fsockopen($url['host'], $url['port'], $errno, $errstr, 30);
            if (!$fp){return false;}
            fputs($fp, "HEAD $path HTTP/1.1\r\nHost: $url[host]\r\n\r\n");
            $headers = fread($fp, 4096);
            fclose($fp);
        }
        $headers = (is_array($headers)) ? implode("\n", $headers) : $headers;
        return (bool)preg_match('#^HTTP/.*\s+[(200|301|302|403|300|303|304|305|306|307)]+\s#i', $headers);
    }
    return false;
}

i
Code:

$ip = gethostbyname($domen);
$number = explode(".", $ip);
$words = explode(".", $domen);
if ($number[0] !== $words[0]) {$d=true;}


Inače u skriptu kombinujem ova dva koda sa bazom u kojoj već imam dosta registrovanih
RS domena tako da se često dobijaju tačni rezultati, i izgleda da je sve ispravno, ali npr.
ako se ukuca "vlada.rs" skript ne može da prepozna da se radi o zauzetom domenu, (vlada.rs je zauzet).

WHOIS skriptu nisam uspeo da implementiram, jer nisam našao parametre za RS domene.

Možda je ovo prosto ali ja već dva dana ne mogu da nađem rešenje....




[Ovu poruku je menjao ban17 dana 24.04.2009. u 15:52 GMT+1]
[ duchess @ 29.01.2010. 08:51 ] @
Cao, jesi uspeo da nadjes nacin provere .rs domena?

I emni je to takodje problem, nasla sam skriptu koja mi super odradjuje proveru internacionalnih, ali za rs mi je problem.
Code:

$servers['com']['address'] = "whois.crsnic.net";
$servers['com']['free'] = "No match for";
$servers['com']['param'] = "";

$servers['net']['address'] = "whois.crsnic.net";
$servers['net']['free'] = "No match for";
$servers['net']['param'] = "";

$servers['org']['address'] = "whois.pir.org";
$servers['org']['free'] = "NOT FOUND";
$servers['org']['param'] = "";

$servers['name']['address'] = "whois.nic.name";
$servers['name']['free'] = "No match";
$servers['name']['param'] = "";

$servers['biz']['address'] = "whois.nic.biz";
$servers['biz']['free'] = "Not found";
$servers['biz']['param'] = "";

$servers['info']['address'] = "whois.afilias.info";
$servers['info']['free'] = "NOT FOUND";
$servers['info']['param'] = "";

$servers['de']['address'] = "whois.denic.de";
$servers['de']['free'] = "not found in database";
$servers['de']['param'] = "-T dn "; // required!!

$servers['eu']['address'] = "whois.eu";
$servers['eu']['free'] = "AVAILABLE";
$servers['eu']['param'] = ""; 

e sad za rs bi trebalo otprilike ovako:
Code:

$servers['rs']['address'] = "whois.rs";
$servers['rs']['free'] = "AVAILABLE";
$servers['rs']['param'] = ""; 

treba mi takodje i za .ba
Vidim ti rece nema whois za rs, jel to jos uvek vazi?

Thanks
[ vatri @ 29.01.2010. 11:23 ] @
http://whois.loopia.rs/?domain_name=duchess.rs

Znaci u domain_name $_GET parametar se unese domen koji hoces da provjeris. Na strani koja ti se otvori imas sledeci kod: <div class="code"> .... </div>

To jednostavno u PHP-u ucitas pomocu cURL-a (ili mozda cak sa file_get_contents() ), a zatim parsiras sve izmedju ovog koda i vidis ako pise "Domen nije registrovan" - znaci da je slobodan, suprotno - zauzet. Za ovo koristis regularne izraze (Regular Expressions) - preg_match...
[ duchess @ 29.01.2010. 12:32 ] @
@vatri Hvala puno na odgovoru, nisam znala da je toliko jednostavno preko loopie to završiti, samo se nadam da ce ova njihova stranica biti aktivna u buducnosti. Pokusala sam i za .ba ali neki cudan rezultat mi izbacuje, neki error, ne znam da li to znaci da je slobodan domen, ili da ne moze proveriti taj .ba domen. Tnx.
[ vatri @ 29.01.2010. 14:04 ] @
Tu stranu sam slucajno nasao (vidio sam gore ogromni crveni baner koji mi bode oci :} ) Vjerovatno bi se dalo naci nesto bolje.

Za ba domen mozes u cURL staviti sledecu stranu: http://www.nic.ba/stream/novi/ a zatim proslijediti 'name' parametar u POST!