Как решить проблему если не открыт 43 порт

Yurecm
На сайте с 25.02.2007
Offline
233
617

Был скрипт получающий дату окончания домена, жил да не тужил. Но пришлось сменить хостинг, а на новом хостинге 43 порт не открыт, говорят покупайте впс, а этого я сделать не могу, так как редкий нищеброд и жмот :)

Как решить эту задачу без использования 43 порта?

Вот та функция, которая есть сейчас

 function get_whois_free_date($domain)
{
if(!$socket=socket_create(AF_INET, SOCK_STREAM, 0))
return socket_strerror(socket_last_error().'\n');
socket_connect($socket,"whois.ripn.net",43);
socket_write($socket,"$domain\n");
$resp = htmlspecialchars(socket_read($socket,4096));
socket_close($socket);
if(preg_match('/paid-till:([0-9\.\s]*)\s/',$resp,$res))
return $res[1];
else
return 'domain not found';
}

Заранее спасибо, плюсом! :)

R
На сайте с 20.02.2015
Offline
59
#1

У ripn.net и по 80 порту whois есть http://www.ripn.net/nic/whois/


function get_whois_free_date($domain) {
$fp = fsockopen("www.ripn.net", 80, $errno, $errstr, 60);
if (!$fp) {
return "Connection fail: $errstr ($errno)\n";
}
$put = "POST /nic/whois/whois.cgi HTTP/1.1\r\nHost: www.ripn.net\r\nContent-Type: application/x-www-form-urlencoded\r\nContent-Length: ".strlen("Whois=$domain")."\r\n\r\nWhois=$domain";
fwrite($fp, $put);
$response = "";
while (!feof($fp)) {
$response .= fread($fp, 1024);
}
return preg_match("#paid-till:\s+([^\s]+)\s#", $response, $match) ? $match[1] : "domain not found";
}
//echo get_whois_free_date("test.ru");

Не пойму только как он закрыт 43 порт на исходящие соединения..

Yurecm
На сайте с 25.02.2007
Offline
233
#2

rereg, спасибо, +1

а как доправить этот скрипт чтобы она рбаотал с доменами в зонах net com org и другими?

заранее спасибо!

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий