Работа php + socks

Discussion in 'PHP' started by gemaglabin, 25 Apr 2007.

  1. gemaglabin

    gemaglabin Green member

    Joined:
    1 Aug 2006
    Messages:
    772
    Likes Received:
    842
    Reputations:
    1,369
    Заметил,что многим лень почитать описание простецкого протокола socks4/socks5 и напиал маленький скриптик,который подконектится к прокси и в случае удачного соединения вернет хендл сокета.Функция socksconnect сама определит какой у вас номер сокса

    Использовать так

    PHP:
    сокет socksconnect(айпи сокса,порт сокса,юзер,пасс,куда конектимся,порт сервера,таймаут)
    пример
    $socket 
    socksconnect('81.91.1.1','8192','','','ya.ru',80,5)
    http://underwater.itdefence.ru/projects/proxy.txt
     
    6 people like this.
  2. hidden

    hidden 7H3 0N3

    Joined:
    23 Apr 2006
    Messages:
    550
    Likes Received:
    332
    Reputations:
    386
    Сознаюсь, не читал)), есть ещё куча всяких интересных вещей чтоб читать.
    Кстати, уже не первый раз виду такое, подключаются, запрашивают версию, потом не отключаясь, подключаются снова и тогда уже используют, это так действительно задумано, или всё-же можно выполнить всё за один коннект, включая запрос сразу нескольких страниц?
     
  3. gemaglabin

    gemaglabin Green member

    Joined:
    1 Aug 2006
    Messages:
    772
    Likes Received:
    842
    Reputations:
    1,369
    Теоретически можно дак не со всем прокатит...
     
  4. _Great_

    _Great_ Elder - Старейшина

    Joined:
    27 Dec 2005
    Messages:
    2,032
    Likes Received:
    1,118
    Reputations:
    1,139
    я точно такое уже выкладывал гдето=\
     
    1 person likes this.
  5. gemaglabin

    gemaglabin Green member

    Joined:
    1 Aug 2006
    Messages:
    772
    Likes Received:
    842
    Reputations:
    1,369
    Точно такое же быть не может это я писал ...
     
  6. _Great_

    _Great_ Elder - Старейшина

    Joined:
    27 Dec 2005
    Messages:
    2,032
    Likes Received:
    1,118
    Reputations:
    1,139
    ну понятно что не слово в слово) смысл абслютно тот же
     
  7. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,194
    Reputations:
    252
    _Great_, он мне это пару месяцев назад уже показывал =)
    гемо лучший =\хека
     
  8. Developer

    Developer Elder - Старейшина

    Joined:
    3 May 2006
    Messages:
    152
    Likes Received:
    25
    Reputations:
    10
    Дайте лучше ссылку на описание Socks :)

    Автору респект за скрипт, хоть юзать его не буду, но исходники посмотрю ;)
     
  9. _Great_

    _Great_ Elder - Старейшина

    Joined:
    27 Dec 2005
    Messages:
    2,032
    Likes Received:
    1,118
    Reputations:
    1,139
    на случай если я не выкладывал:

    PHP:
    // 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($f2);
      if(!( 
    ord($r[0])==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($f10);
      if(!( 
    ord($r[0])==and ord($r[1])==0))
        die(
    "Invalid SOCKS reply");
      return 
    $f;
    }
    В закромах Родины нашел у себя. Частенько юзаю