Показать сообщение отдельно

  #2  
Старый 29.10.2009, 00:23
slesh
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме:
3288241

Репутация: 3349


Отправить сообщение для slesh с помощью ICQ
По умолчанию

А что тут сложного? это еще проще чем обычный. Действия такие:
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"
и закрывай соединение