Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Сети > Можно ли создать прокси на Инди?


Автор: Rohoss 3.7.2007, 21:21
Собственно сабж  smile 

Автор: Snowy 3.7.2007, 21:50
Можно

Автор: Rohoss 3.7.2007, 22:11
А если бы немножко поподробней  smile  , хотя бы какие компоненты использовать и какую литературу почитать? smile  Или не помешал бы скромненький примерчик  smile 

Автор: Snowy 3.7.2007, 22:26
Это зависит от того, какой прокси тебе нужен.
Из компонентов, например TIdMappedPortTCP
Но конечное решение зависит от типа прокси.

Автор: Rohoss 3.7.2007, 22:33
Вообще интересуют socks, ну и на реализацию http и https за ради общего развития не против бы взглянуть, кстати, какая между последними двумя разница? 

Автор: Rohoss 5.7.2007, 03:48
никто не хочет показать пример?  smile  smile 

Автор: Snowy 5.7.2007, 10:20
А какие тут примеры?
В Indy10 прокси имеются.
Просто брось нужные на форму - сервер готов  smile 

Автор: Rohoss 10.7.2007, 02:44
Специально переустановил индии, с 9 на 10, добавил на форму этот компонент, но он прокси сервер не создает,… вернее пытались его использовать как прокси но безрезультатно… мож какие настройки или дополнительно какой-то компонент?  smile 

Автор: Snowy 10.7.2007, 10:38
Цитата(Rohoss @  10.7.2007,  02:44 Найти цитируемый пост)
обавил на форму этот компонент
Какой?
МаппедПорт? Для этого не нужно было переустанавливать - он и в 9-ке есть.
В 10-ке есть готовый TIdHTTPProxy, например... Посмотри список серверов  smile

Добавлено через 1 минуту и 52 секунды
Цитата(Rohoss @  3.7.2007,  22:33 Найти цитируемый пост)
http и https за ради общего развития не против бы взглянуть, кстати, какая между последними двумя разница? 
https = http + ssl, то есть шифрованный http. Считается безопасным...

Автор: Rohoss 17.7.2007, 04:22
Ну, с компонентом разобрался smile ,… а интересно, можно ли с помощью прокси пережимать данные и тем самым экономить HTTP трафик? Если да, то в какую сторону копать? smile 

Автор: Snowy 17.7.2007, 10:39
Гм. Вопрос сложный.
Можно пережимать от прокси к клиенту, но это не даст экономии траффика.
Да и многие сервера (как этот форум, например), уже отдают данные в сжатом виде.
А для экономии траффика нужно сжатие от сервера.
Тут прокси не поможет.
Лучше скачай программу типа Traffic Compressor.
Самому такую не написать по двум причинам:
1. Довольно сложно.
2. Нужно иметь сервер в инете, который будет пережимать траффик.
Поэтому просто воспользуйся уже готовым  smile
Я активно юзал траффик компрессор, когда в инете через мобильный сидел.
Экономилось почти в 5 раз... Ну разумеется на html, icq и почте. На файлах много не сэкономишь - они все и так жатые.
Ну и Opera хорошо экономит за счёт увеличения настроек кэша. Для мобильного это весьма важно.

Добавлено через 3 минуты и 31 секунду
http://www.tcompressor.ru/

Автор: Rohoss 17.7.2007, 19:59
Snowy, большое спасибо за совет с Traffic Compressor. 

Просто меня навёл на такую мысль компонент IdCompressorZLibEx в Инди 10, я думал может он поможет пережать данные…  А сервер конечно не проблема.

Автор: Snowy 17.7.2007, 20:19
Пережать данные то он может, но при этом будет нарушен протокол.
Поэтому он пригоден только для передачи собственных данных между двумя собственными программами.
Единственный способ по использования его для экономии траффика таков:
1. Имеем компьютер, подключенный по безлимиту в одной точке инета и второй компьютер с ограниченным траффиком.
2. На втором делаем http сервер, который отправляет все запросы своим собственным пожатым протоколом на машину 1.
3. Машина 1 принимает данные по собственному пожатому протоколу и на основании них делает запрос в инет.
4. Получив ответ, данные отправляются по пожатому протоколу обратно на машину 1.
5. На машине 1 данные автоматом распаковываются и отправляются обратно, запросившей программе.
Схема имеет право на жизнь. Но использовать траффик компрессор будет проще и удобней.
К тому же он не требует никаких специальных настроек, а сам ловит и пережимает траффик.
Собственно он примерно такую схему и осуществляет, за исключением того, что она основана не на хитром сервере, а на отлове, фильтрации и пережатии части траффика.
Единственный минус - он платный. Но работает и в бесплатном режиме - единственное ограничение - для песплатников низкий приоритет, вследствии чего может потребоваться некоторое время для установки связи с их сервером.

Автор: Rohoss 17.7.2007, 20:35
А интересно, как у Traffic Compressor'а получается оставлять мой собственный IP?
Данные то идут на его сервер, а потом уже осуществляется связь с нужным мне сайтом, или он не все данные туда отправляет? 

Автор: Snowy 17.7.2007, 21:10
1. Если нет соединения с сервером компрессора, то он не работает - траффик идёт напрямую.
2. Если соединение есть, то работает фильтр, что жать. Например zip, rar. jpeg и т.п он жать не будет - бесполезная нагрузка, а результат отрицательный. Следовательно IP будет твой.
А вот сжимаемый траффик (html, icq, почта и т.п в зависимости от настроек) идёт через его сервер и от его IP.

Автор: Rohoss 17.7.2007, 21:43
Угу, точно, не на всех сайтах показывает мой личный ИП, на некоторых показывает ИП сервера de3.tcompressor.com


ПС. Скорость работы радует smile , тем более с кешем графики в Опере  smile 

Автор: Snowy 17.7.2007, 23:16
Цитата(Rohoss @  17.7.2007,  21:43 Найти цитируемый пост)
Угу, точно, не на всех сайтах показывает мой личный ИП, на некоторых показывает ИП сервера de3.tcompressor.com
Это потому что некоторые сайты и так гзипяться - там нечего дожимать.
Компрессор - штука умная. Он могет сам определять, что жмётся, а что и так утрамбовано.

Цитата(Rohoss @  17.7.2007,  21:43 Найти цитируемый пост)
ПС. Скорость работы радует  , тем более с кешем графики в Опере
Это да. Я полгода юзал мобильный инет - без компрессора тормоза и траффик.
А компрессор + Опера - всё просто шуршит...  smile 

Автор: itipRu 6.8.2007, 15:41
Еще 5 центов в тему...

Можно на своем рукописном проксике во все запросы добавлять строку
accept-encoding="gzip,deflate"

если броузер клиента не поддерживает GZIP то прокси сервер будет это делать за него.
Соответственно нужно будет позаботиться о декомпресии полученых от сервера данных перед отправкой их клиенту. 

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