Просмотр полной версии : HTTP прокси метод connect
Ни у кого нет примеров(С\С++) как это работает?
А что тут сложного? это еще проще чем обычный. Действия такие:
1) тупо считываешь целеком HTTP запрос
2) Ищи первый пробел. после него начинается домен.
3) ставиш указатель на начало домента и запоминаеш его.
4) далее ищи опять пробел начиная с имени домена
5) как нашел пробел так замени его на 0x00
6) начиная от имени домена ищи символ :
7) если его нет, то дефолтовый порт = 80
8) если есть : то заменяй его на 0x00 а то, что после него прогоняй через atoi и получай номер порта.
9) коннектся на нужный домен и порт
10) если всё норм то посылаеш
"HTTP/1.1 200 OK\r\n\r\n"
и затем делай обычный портмаппинг
11) если не смог подрубиться то посылай
"HTTP/1.0 502 Bad Gateway\r\nContent-Length: 15\r\n\r\n502 Bad Gateway"
и закрывай соединение
12) если при парсинге заголовка возникла ошибка (чтото не нашел) то посылай
"HTTP/1.0 400 Bad Request\r\nContent-Length: 15\r\n\r\n400 Bad Request"
и закрывай соединение
Я не про сервер.А как со стороны клиента.
ЗЫ:но в принципе теперь уже понятно :D
клиент шле т примерно такие данные:
CONNECT www.site.com:port HTTP/1.1
CONNECT www.site.com HTTP/1.1
и если получил 200 OK то уже может посылать какие угодно данные.
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot