Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

SOCKS + PHP --- HELP!

18K
07 декабря 2006 года
4ert
13 / / 07.12.2006
Здравствуйте!!!!
Господа, помогите плиз... замучился уже.... никто случаем не знает как реализовать соеденение через soks5(4), ток без curl?(если можно с примером..) Это вообще возможно без curl?.....
Задача собственно такая:
Открывать соеденение с сервером через Socks и получать от него данные......
13
07 декабря 2006 года
RussianSpy
3.0K / / 04.07.2006
А чем курл не угодил?
16K
07 декабря 2006 года
windoctor
19 / / 05.07.2006
Код:
$host = "";
$path = "";
$fp = fsockopen($host,80,$errno,$errstr,30);
if(!$fp) echo"$errstr ($errno)<br />\n";
else{
$headers = "GET $path HTTP/1.0\r\n";
$headers .= "Host: $host\r\n";
$headers .= "Accept: *\r\n";
$headers .="Accept-Charset: UTF-8\r\n";  // <<====
$headers .= "Accept-Charset: *\r\n";
$headers .= "Accept-Encoding: deflate\r\n";
$headers .= "Accept-Language: ru\r\n";
$headers .= "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; ru) Opera 8.01\r\n\r\n";
fwrite($fp,$headers);
fclose($fp);
256
07 декабря 2006 года
foxweb
1.0K / / 27.07.2005
fsockopen() - не подходит? Напиши класс для работы с Socks5 и работай на здоровье.
256
07 декабря 2006 года
foxweb
1.0K / / 27.07.2005
Код:
<?php
$fp = fsockopen("www.example.com", 80, $errno, $errstr, 30);
if (!$fp) {
    echo "$errstr ($errno)<br />\n";
} else {
    $out = "GET / HTTP/1.1\r\n";
    $out .= "Host: www.example.com\r\n";
    $out .= "Connection: Close\r\n\r\n";

    fwrite($fp, $out);
    while (!feof($fp)) {
        echo fgets($fp, 128);
    }
    fclose($fp);
}
?>
4
07 декабря 2006 года
mike
3.7K / / 01.10.2002
Господа, не надо подстовывать примеры на работу сокетовых функций. Человеку нужно совсем другое - работа через Socks сервер (версии 4 или 5).

Сервер чем-то похож на прокси - могу предположить, что проксирует он на более низком уровне. Можно проксировать любые Application протоколы, включая ICQ, HTTP.

Описание протокола на русском языке:
http://www.codenet.ru/webmast/socks51.php
18K
08 декабря 2006 года
4ert
13 / / 07.12.2006
http://www.codenet.ru/webmast/socks51.php --- Очень хорошо написано!
Только как все эти процедуры на php реализовать, да так чтоб по короче? Хоть и читал я много о том, что через socks также как и через прокси не выйдет, но всё же решил испытать, такой вот код:
$socket = fsockopen("66.235.178.233","1080", &$errno, &$errstr, 10);
if(!$socket)
{
$res='oblom';
}
else
{
$res='maza';
fputs($socket, "GET http://www.2ip.ru HTTP/1.0\r\n");
fputs($socket, "Host: www.2ip.ru\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, "User-Agent: BSGen\r\n\r\n");
while(!feof($socket))
{
$page .= fgets($socket);
}
}
fclose($socket);
print $res."<br><br><br><br>"."/".$page;


А возращает он мне.... да нечего не возращает!!!!!!!
Типа соеденение есть я ему(серверу) послал данные(так же как и делал в случае с прокси и всё было ништяк, загружалась страница 2ip.ru, Где показывался ip прокси сервера...), а он мне впрочем что-то прислал, ноя так понял нечто бинарное, либо моя опера не печатает ничего, а в исходном тексте видны какой то квадрат и вовсе непонятные мне символы.......(аж челых три штуки)...

Так что вопрос остаётся открытым! Но уточняется, как осуществить подключение именно по протоколу socks5(4) c сервером, заставить его открыть нужную мне html страницу(http ведь поддержует?) и вернуть её мне.....
Что никто не задумывался над этим что ли?
Curl не угодил, своей тормознутостью.... И невозможностью использования на некоторых хостах....
20K
08 декабря 2006 года
disc
6 / / 01.09.2006
Чем cURL плох, или задача не использовать его?? Он ведь освобождает от гемороя сокетов.
18K
08 декабря 2006 года
4ert
13 / / 07.12.2006
Конкретной задачи нет... Просто я никогда сним не работал, и если честн, то вообще с трудом представляю, что это.... А мне ведь не просто конект сделать, а весьма интересные операции проводить, поэтому хотелось бы, чтобы конект был через хорошо знакомые(ну или вообще знакомые) функции, дабы дальше я мог продолжать смостоятельно работать, а тоя вас тут вопросами засыплю :) .....
Походу разработки моего проекта возникла ещё два вопроса, буд благодарен за любую помощь в их решении:
1)Вопрос реализации. Всем известно, что javascript есть замечательная функция Math.random() возращающая не менее замечательные числа с точностью до 17 знака после запятой... Вопрос: как сделать в php аналог этой функции?

2)Вопрос философский наверное... Я подключаюсь к серверу через сокет, отправляю ему какие-то данные и мне на фиг не надо получать от него ответ, но очень хотелось бы, что сервер бы считал он отослал ответ, и клиент его принял.... Вопрос: как так бы сделать?(не хочу принимать данные, ибо ммного времени на это уходит) Или можно просто
закрыть сокет после отправки, а сервер пусть потом отсылает данные в пустоту и думает, что я их принимаю?
13
08 декабря 2006 года
RussianSpy
3.0K / / 04.07.2006
Тогда лучше использовать CURL - это будет на порядок проще чем программировать сокеты.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог