perl + socket + прокси

Discussion in 'PHP' started by BigMazy, 5 Nov 2008.

  1. BigMazy

    BigMazy New Member

    Joined:
    4 Nov 2008
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    Добрый день! Появилась проблема - не получается решить.

    Использую сокеты (модуль Socket) для получения данных whois.
    Запросы отправляются в ripn на 43 порт.

    Необходимо подключить сокет через прокси-сервер.
    Как это сделать, у меня не получается.

    Буду рад помощи!!!


    На форуме нашел подобный код, но на пхп. Переписать его на перл не получается:

    Код
    // socks_connect( proxy_host, proxy_port, destination_host, destination_port )
    function socks_connect($host, $port, $dh, $dp)
    {
    $f = fsockopen($host, $port) or die("Can't connect to proxy");
    $h = gethostbyname($dh);
    preg_match("#(\d+)\.(\d+)\.(\d+)\.(\d+)#", $h, $m);
    fwrite($f, "\x05\x01\x00");
    $r = fread($f, 2);
    if(!( ord($r[0])==5 and ord($r[1])==0))
    die("Invalid SOCKS reply");
    fwrite($f, "\x05\x01\x00\x01" . chr($m[1]).chr($m[2]).chr($m[3]).chr($m[4]).chr($dp/256).chr($dp%256));
    $r = fread($f, 10);
    if(!( ord($r[0])==5 and ord($r[1])==0))
    die("Invalid SOCKS reply");
    return $f;
    }
     
  2. Kaimi

    Kaimi Well-Known Member

    Joined:
    23 Aug 2007
    Messages:
    1,732
    Likes Received:
    809
    Reputations:
    231
    Ну если сокс прокси, то что мешает юзать
    http://search.cpan.org/~reatmon/IO-Socket-Socks-0.1/lib/IO/Socket/Socks.pm
    ?
     
    _________________________