PDA

Просмотр полной версии : [php] Работа с Прокси


n3m0
04.07.2007, 00:35
Люди можете мне дать пример как подключатся через проксю
Допустим: у меня есть цыкл , в етом цыкле я должен менять проксю на каждой итерации и выполнять какоето действие. Можете показать пример как ето организовать?

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

$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>";


Если сокс, то там сложнее.
Нужно реализовывать протокол самому. Например так

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);

Isis
04.07.2007, 00:39
Мда...вообще-то я тебе сказал "В поиск" и задать вопросы в конкретной теме....
https://forum.antichat.ru/thread38811.html

_Great_
04.07.2007, 00:41
Кстати, да, тема была.