Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Сети > Прокси |
Автор: WolfON 1.2.2006, 19:25 |
Вот стало мне интересно по какому принципу http-прокси сервер вообще работает, для реализации собтсвенного ![]() Инетересует вот какой вопрос - что он вообще делает? Допустим я повесил сокет на 1080 порт - мне приходит запрос [допустим GET] - в нем в поле request некоторый адрес от куда качаеться страничка - мой прокси должен будет эту страничку получить, а потом уже послать туда, откуда пришел запрос? И вот, что еще интересно, как выглядит запрос посылаемый прокси серверу [отличаеться от обычного или тот-же, но отправлен не по адресу?] |
Автор: Romikgy 2.2.2006, 11:49 |
Я не спец в этом вопросе , сам много чего непонимаю, но имхо, на прокси посылаются такие же пакеты как и обычно без прокси, одна лишь разница, в МАК адрессе идет указание машины где стоит прокся, а айпи нужный тебе, у обычного пакета, МАК-адресс и Айпи-адресс совпадают, и прокси не парсит, ХТТП запросы, если внахалу не указать , что такое надо делать. Есть такие компоненты Indy, под борланд, так легко организовывается эта вещь мапированием портов, можно там реализацию посмотреть , где т в сети видел исходники прокси на WinSock-е Ищи ![]() |
Автор: WolfON 4.2.2006, 15:48 |
Мне-бы общий принцип и примеры однопотоковой http-прокси для понимания |
Автор: Romikgy 7.2.2006, 17:20 |
Засавляешь слушать один порт постоянно, при запросе на соединение, делаешь аксепт, и сразу же создаешь второй сокет, куда будет передавать твой прокси далее, а дальше работа, принимаешь с одного сокета передаешь в другой ![]() |
Автор: dwr_budr 14.2.2006, 12:14 |
Romikgy Ну зачем же людей сбивать с толку бреднями про мак адрес? Он то тут каким боком? WolfON Лучший способ разобраться с тем как работает хттп прокси сервер - разобраться для начала с самим хттп. Понятное дело что хттп штука очень объемная, но я говорю о самых фундаментальных темах: основные методы, основные поля и типы соединений. Дальше посмотри коды возврата. Если это все осмыслил - то перед тобой ясная картина как работают клиент и сервер. Их и попробуй реализовать. Ну а с пониманием как работают клиент и сервер, придет и понимание как себя должен вести прокси. Тогда и простенький прокси сервер написать не составит труда. Если увлечешься этой темой по серьезному, то без http://www.w3.org/Protocols/rfc2616/rfc2616.html не обойтись. |
Автор: Romikgy 14.2.2006, 13:28 |
dwr_budr Я высказал свое понимание, но не утверждал что оно истиное!!!! Разьясни как же там на самом деле? |
Автор: io2me 15.3.2006, 20:48 |
вообщем сегодня интересовался этим вопросом. и так я сделал так: написал локальный сервак, повесил его на 8888 порт. далее в настройках браузера ввел настройки прокси: localhost:8888. и вот мой сервак получил от браузера ответ, в котором я не увидел ни в одном заголовке принадлежности прокси. тоесть вывод таков: ты просто то что хотел отправить серваку для загрузки страницы отправляешь на прокси. пример: прокси - 10.3.3.3:80. ты ему на этот IP и порт отправляешь пакет: GET http://porno.ru:80 .... тоесть особой разныцы нет, просто пропусти свой пакет через прокс и в GET укажи полный URL. |
Автор: 4udo 6.5.2006, 08:16 |
Вот - может сгодится.................... |