![]() |
Модераторы: Snowy, Poseidon, MetalFan |
![]() ![]() ![]() |
|
FAK |
|
|||
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 21.4.2006 Репутация: нет Всего: нет |
Как сделать так, чтобы можно было подключаться одновременно к нескольким прокси?
Заранее благодарен! |
|||
|
||||
Демо |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 3.11.2005 Репутация: 3 Всего: 50 |
Если ты скажешь, что означает "подключиться к нескольким прокси", то возможно тебе и помогут.
-------------------- |
|||
|
||||
FAK |
|
|||
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 21.4.2006 Репутация: нет Всего: нет |
Объясняю.
Это так называемые "цепочка прокси" . Принцип действия таков: Компьютер подключается к прокси1, который подключается к прокси2, прокси2 подключается к прокси3 и тд. Вот это мне и нужно реализовать в делфи |
|||
|
||||
Rouse_ |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 469 Регистрация: 23.4.2005 Репутация: 5 Всего: 29 |
Ищи описание механизма Socks в RFC.
|
|||
|
||||
mai62 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 27.2.2006 Репутация: 2 Всего: 3 |
Rouse_
Разве нужен обязательно Socks-прокси? Многие (если не все) HTTP-прокси могут передавать HTTP-запросы вышестоящему (parent) прокси. А если HTTP-прокси поддерживает метод connect, то через него можно работать не только с HTTP-протоколом, но и, например, ICQ или FTP. FAK Из твоих вопросов не понятно в чем заключается задача, которую ты решаешь? Что именно ты хочешь сделать на Delphi? Смотри сколько людей откликнулось, дай им шанс помочь тебе ![]() |
|||
|
||||
FAK |
|
|||
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 21.4.2006 Репутация: нет Всего: нет |
Я пишу свой icq клиент и мне нужно вставить эту цепочку проксей в мой клиент, чтобы подключаться
к icq серверу анонимно. |
|||
|
||||
mai62 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 27.2.2006 Репутация: 2 Всего: 3 |
Можно посмотреть исходники программы freecap (_http://www.freecap.ru/)
Еще видел такой диалог (_http://groups.google.ru/group/borland.public.delphi.internet.winsock/browse_thread/thread/cf01f02031d633ca/6da95be9112090b4?hide_quotes=no#msg_6da95be9112090b4)
Насколько я понял, речь идет об Indy 10 |
|||
|
||||
FAK |
|
|||
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 21.4.2006 Репутация: нет Всего: нет |
исходник freeCap я уже скачал )
Но чет я там не разберусь |
|||
|
||||
RA |
|
|||
![]() Брутальный буратина ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3497 Регистрация: 31.3.2002 Где: Лес Репутация: 10 Всего: 115 |
Собсвенноручно выкладывал тут 3 сорса проксей: http-пэшный на ics-се, http-пэшный без компонентов, и Socks4. Один из сорсов в сетевых технологиях.
Такшо в поиск. |
|||
|
||||
Rouse_ |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 469 Регистрация: 23.4.2005 Репутация: 5 Всего: 29 |
Это-то конечно да, только для этого должен быть настроена соответствующая цепочка, ты сможешь сказать верхнему прокси чтобы он работал не напрямую а через еще один прокси? |
|||
|
||||
mai62 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 27.2.2006 Репутация: 2 Всего: 3 |
Не могу. Я хотел сказать, что можно строить цепочки и Socks-прокси и HTTP-прокси
|
|||
|
||||
Демо |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 3.11.2005 Репутация: 3 Всего: 50 |
Вот эта цепочка интересна, учитывая недоступность администрирования промежуточных звеньев... -------------------- |
|||
|
||||
FAK |
|
|||
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 21.4.2006 Репутация: нет Всего: нет |
Я уже и исходники фрикапа пересмотрел, все равно не понял.
Вот есть код, возможно это путь к разгадке )) но при запуске возникает ряд ошибок.
|
|||
|
||||
mai62 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 27.2.2006 Репутация: 2 Всего: 3 |
Демо,
http proxy chain - это не мое изобретение (к сожалению ![]() _http://www.freeproxy.ru/en/free_proxy/faq/what_is_http_proxy.htm _http://packages.debian.org/unstable/net/proxychains.html К сожалению не нашел нигде простого описания как это делается. Полагаю происходит это так. Допустим мы хотим пробросить канал от клиента к серверу через цепочку из двух прокси (как я уже писал выше, http прокси должны поддерживать метод connect). Клиент --> Прокси1 --> Прокси2 --> Сервер Клиент устанавливает соединение с Прокси1 и шлет команду connect Прокси2 http1.1 D результате получаем такую цепочку: Клиент --> --------> --> Прокси2 --> Сервер Потом connect Сервер http1.1 Получаем Клиент --> --------> --> --------> --> Сервер На самом деле похожим образом поступает браузер, когда хочет связаться с https-сервером через http-прокси. Он соединяется с http-прокси и шлет команду connect https_сервер:443 http1.1 И после этого обменивается с сервером по https-протоколу. |
|||
|
||||
Демо |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 3.11.2005 Репутация: 3 Всего: 50 |
Вот в таком варианте сделать возможно и очень просто. Вот в таком -
невозможно. Добавлено @ 10:43 Дело в том, что "Прокси1" как раз и есть наш сервер, которым я могу управлять, на котором могу настроить каскадирование. А вот "Прокси2" - это уже чужой прокси-сервер, и он будет в цепочке последним. -------------------- |
|||
|
||||
mai62 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 27.2.2006 Репутация: 2 Всего: 3 |
Демо
Допускаю, что я что-то не понимаю, но разницы в этих двух цитатах я не вижу. Не понимаю почему
Почему последним? Теоретически описанным мной способом можно соединить в цепочку сколько угодно проки-серверов (мне так кажется, если я не прав, то в чем?). соединяемся с Прокси1 > connect Прокси2 http1.1 < 200 OK > connect Прокси3 http1.1 < 200 OK > connect Прокси4 http1.1 < 200 OK ... > connect ПроксиN http1.1 < 200 OK ... > connect Вожделенный_Сервер http1.1 |
|||
|
||||
Демо |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 3.11.2005 Репутация: 3 Всего: 50 |
Теория без практики - это как камасутра в картинках. Протокол HTTP - это вообще-то несколько более сложная вещь, нежели просто Connect. Приведи заголовки HTTP-запросов в каждом случае, чтобы разговор был более предметный. -------------------- |
|||
|
||||
mai62 |
|
||||
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 27.2.2006 Репутация: 2 Всего: 3 |
Демо
На практике так на практике, вот
На форму нужно положить Memo и кнопку. Нажмите кнопку и в Memo загрузится текст страницы с mail.ru. Я пробросил канал через 2 http-прокси: 127.0.0.1:8080 192.168.55.2:8080 Можете испытать код с другим количечтвом прокси. Это сообщение отредактировал(а) mai62 - 21.5.2006, 18:00 |
||||
|
|||||
Демо |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 3.11.2005 Репутация: 3 Всего: 50 |
mai62,
Спасибо. Я уже обнаружил некоторую информацию о такой возможности. Буду изучать. -------------------- |
|||
|
||||
Ibragim |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 177 Регистрация: 28.9.2004 Где: Киев Репутация: нет Всего: нет |
Ув.
mai62, (а может кто-то еще откликнется ![]() не могли бы Вы также рассказать, как сделать работу с TIdTCPClient асинхронной? То есть хотелось бы не ждать ответа на SendCmd, а послать команду, положим
и работать дальше (чтобы процедура не останавливалась), а потом спустя некоторое время посмотреть, есть ли результат, желательно при возникновении какого-либо события. Заранее спасибо. Это сообщение отредактировал(а) Ibragim - 11.9.2006, 14:33 |
|||
|
||||
mai62 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 27.2.2006 Репутация: 2 Всего: 3 |
||||
|
||||
Buhalich |
|
|||
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 14.9.2006 Репутация: нет Всего: нет |
Ibragim, а с сокетами нет возможности работать?
|
|||
|
||||
Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 3 Всего: 146 |
засунь в отдельный поток и будет те щастье ![]() есть возможность , но мороки имхо на порядок больше -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. ![]() |
|||
|
||||
Ibragim |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 177 Регистрация: 28.9.2004 Где: Киев Репутация: нет Всего: нет |
to Buhalich
Есть такая возможность. СОСВСЕМ много мороки. Уже сделано так, как советовал Romikqy:
Вот тока счастья пока нет, поглючивают потоки у меня... пока разбираюсь. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Сети" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делится вскрытыми компонентами
Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Сети | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |