Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > PHP: Сеть > [fsockopen] соеденение через soks5(4) |
Автор: 4ert 7.12.2006, 15:23 | ||
Здравствуйте!!!! Господа, помогите плиз... замучился уже.... никто случаем не знает как реализовать соеденение через soks5(4), ток без curl?(если можно с примером..) Это вообще возможно без curl?..... Задача собственно такая: Открывать соеденение с сервером через Socks и получать от него данные......
|
Автор: 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 | ||||
|
Автор: 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. Имею , скажем, открытоге соединение:
в случае протокола HTTP (то есть когда $socks_ip - адрес http-прокси) - всё просто - пишу туда запрос, и получаю что нужно а в случае, когда $socks_ip - адрес прокси, работающего по протоколу socks5(4) задача осложняется тем, что эта дрянь человечьего языка не понимает (или я не могу ей обьяснить ?) как указать ресурс, с которым я хочу соединиться по данному протоколу? как по ответу сервера распознать тип протокола (4 или 5)? вообще , как с ним работать? |