[php] Работа с Прокси

Discussion in 'PHP' started by n3m0, 4 Jul 2007.

Thread Status:
Not open for further replies.
  1. n3m0

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

    Joined:
    11 May 2007
    Messages:
    133
    Likes Received:
    92
    Reputations:
    11
    Люди можете мне дать пример как подключатся через проксю
    Допустим: у меня есть цыкл , в етом цыкле я должен менять проксю на каждой итерации и выполнять какоето действие. Можете показать пример как ето организовать?
     
  2. _Great_

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

    Joined:
    27 Dec 2005
    Messages:
    2,032
    Likes Received:
    1,118
    Reputations:
    1,139
    Смотря какая прокся. Если обычная хттп, то оч просто

    PHP:
    $f fsockopen("proxyhost"proxyport);
    if(
    $f === false) die ("fuck");
    fputs($f"GET http://mail.ru/ HTTP/1.0\r\nHost: mail.ru\r\n\r\n");
    echo 
    "<pre>";
    while(!
    feof($f)) echo fgets($f1024);
    fclose($f);
    echo 
    "</pre>";
    Если сокс, то там сложнее.
    Нужно реализовывать протокол самому. Например так

    PHP:
    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;
    }

    $f socks_connect("sockshost"socksport"mail.ru"80);
     
  3. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,194
    Reputations:
    252
    Мда...вообще-то я тебе сказал "В поиск" и задать вопросы в конкретной теме....
    /thread38811.html
     
  4. _Great_

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

    Joined:
    27 Dec 2005
    Messages:
    2,032
    Likes Received:
    1,118
    Reputations:
    1,139
    Кстати, да, тема была.
     
Thread Status:
Not open for further replies.