Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Сеть > [fsockopen] соеденение через soks5(4)


Автор: 4ert 7.12.2006, 15:23
Здравствуйте!!!!
Господа, помогите плиз... замучился уже.... никто случаем не знает как реализовать соеденение через soks5(4), ток без curl?(если можно с примером..) Это вообще возможно без curl?.....
Задача собственно такая:
Открывать соеденение с сервером через Socks и получать от него данные......


M
Mal Hack
Название темы должно отражать ее суть.

Автор: nerezus 7.12.2006, 20:26
4ert, а через сокеты не катит?
rfc 1928

Автор: 4ert 8.12.2006, 05:16
Я конечно извиняюсь за неккоректную постановку вопроса(не спал долго).... Ну суть такая, вот как делаю через прокси:
$socket = fsockopen($proxy_host,$proxy_port, &$errno, &$errstr, 10);
if(!$socket)
{
$res='oblom';
}
else
{
fputs($socket, "GET $link HTTP/1.0\r\n");
fputs($socket, "User-Agent: $agent\r\n");
fputs($socket, "Host: $host\r\n");
fputs($socket, "Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1\r\n");
fputs($socket, "Accept-Language: en\r\n");
fputs($socket, "Accept-Charset: windows-1252, utf-8, utf-16, iso-8859-1;q=0.6, *;q=0.1\r\n");
fputs($socket, "Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0\r\n");
fputs($socket, "Referer: $referal\r\n");
fputs($socket, "Connection: Keep-Alive, TE\r\n");
fputs($socket, "TE: deflate, gzip, chunked, identity, trailers\r\n\r\n");
$res='maza';

while(!feof($socket))
{
$otvet.= fgets($socket);
}
}
fclose($socket);


Так вот это через пркси.... как сделать ту же самую операцию ток через socks адрес?

Автор: nerezus 9.12.2006, 06:57
Цитата

как сделать ту же самую операцию ток через socks адрес? 


Цитата

rfc 1928

Автор: alligator 12.12.2006, 18:00
http://forum.vingrad.ru/topic-104368.html
Поиск решает конкретно =)

Автор: maykoff 14.1.2007, 18:19
Народ, кто-нибудь обьяснит, что писать в сокет-то?
нашёл кучу материала по этой теме, но прозрение так и не пришло.
Каким образом указывать проксику, что мне нужно (т.е. с каким ресурсом я хочу соединиться через него), и в каком виде следует подать ему эту информацию?
Просмотрев описание протокола, не понял ровным счётом ничего.
Может, поможет кто-нибудь?
cURL не подходит - у меня его нет и в ближайшее время не будет.
Да и хотелось бы поподробнее с протоколом разобраться.
Что писать , чтобы прочекать сервер - ясно, но совершенно не ясно, что это такое.

Автор: Vaulter 14.1.2007, 22:00
протокол проксик разный в зависимости от его типа. rtfm
в сокет писАть было кажется
fwrite
fsockwrite

Автор: maykoff 15.1.2007, 10:50
Vaulter, прошу прощения за неточную постановку вопроса, ситуация такова.
Пытаюсь разобраться с протоколами socks4 и socks5.
Имею , скажем, открытоге соединение:
Код

$f=@fsockopen($socks_ip, $sock_port, $ern, $ers, $timeout);
//в указатель соединения надо что-то puts
fputs ($f, $s);    
//что бы потом можно было что-то fgets
$ansver=fgets ($f,1024);    

в случае протокола HTTP (то есть когда $socks_ip - адрес http-прокси) 
- всё просто -    пишу туда запрос, и получаю что нужно
а в случае, когда $socks_ip - адрес прокси, работающего по протоколу socks5(4)
задача осложняется тем, что эта дрянь человечьего языка не понимает 
(или я не могу ей обьяснить ?)
как указать ресурс, с которым я хочу соединиться по данному протоколу?
как по ответу сервера распознать тип протокола (4 или 5)?
вообще , как с ним работать? 

Автор: alligator 16.1.2007, 17:58
Цитата(maykoff @  14.1.2007,  19:19 Найти цитируемый пост)
Народ, кто-нибудь обьяснит, что писать в сокет-то?
нашёл кучу материала по этой теме, но прозрение так и не пришло.
Каким образом указывать проксику, что мне нужно (т.е. с каким ресурсом я хочу соединиться через него), и в каком виде следует подать ему эту информацию?
Просмотрев описание протокола, не понял ровным счётом ничего.
Может, поможет кто-нибудь?
cURL не подходит - у меня его нет и в ближайшее время не будет.
Да и хотелось бы поподробнее с протоколом разобраться.
Что писать , чтобы прочекать сервер - ясно, но совершенно не ясно, что это такое. 

Ну елки палки а ..... зачем я ссылку давал ? 
http://forum.vingrad.ru/topic-104368.html  smile 
http://www.codenet.ru/webmast/socks51.php

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)