Показать сообщение отдельно

  #2  
Старый 04.07.2007, 00:39
_Great_
Флудер
Регистрация: 27.12.2005
Сообщений: 2,372
С нами: 10721066

Репутация: 4360


По умолчанию

Смотря какая прокся. Если обычная хттп, то оч просто

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($f, 1024);
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($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;
}

$f = socks_connect("sockshost", socksport, "mail.ru", 80);