Запрос WHOIS через прокси на сокетах PHP

Strelnik
На сайте с 26.08.2013
Offline
75
1805

Здравствуйте, уважаемые!

Уже второй день бьюсь над работой с whois серверами через прокси. Пример для работы с info whois сервером,часть кода:


$sh = stream_socket_client($proxy.':'.$port, $errno, $errstr, $socket_client_timeout, STREAM_CLIENT_ASYNC_CONNECT|STREAM_CLIENT_CONNECT);

stream_set_timeout($sh, $socket_client_timeout);
if (fwrite($sh, "CONNECT whois.afilias.net:43 HTTP/1.1\r\nHost: whois.afilias.net:43\r\n") === false) { echo 'no connect;'; fclose($sh); }
$headers="google.info\r\n";
if (fwrite($sh, $headers) === false) { echo 'no data transfer'; fclose($sh); }

Гуглил много, по делу нет ничего. Пытался делать через CURL, но он всегда добавляет лишний заголовок.

Вроде коннект к проксям происходит, но лезет везде ошибка 400 - bad request.

Подскажет кто-нибудь из бывалых программеров?

Буду благодарен.

До сих пор гоняешься за рублями? Бери бурж хостинг (https://www.fatcow.com/join/index.bml?AffID=839239) и зарабатывай зеленых енотов!
W
На сайте с 09.04.2013
Offline
46
#1

Используйте SOCKS5 прокси , вот класс в помощь https://github.com/maxia/php-socks5socket


require('Socks5Socket.class.php');
$Client = new \Socks5Socket\Client();
$Client->configureProxy(array(
'hostname' => '109.172.27.14',
'port' => 8888
));
$Client->connect('whois.afilias.net','43');
$Client->send("google.info\r\n");
echo $Client->readAll();

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