[ 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] |