GET http://www.livescore.com/ HTTP/1.1
Accept: */*
Referer: http://www.livescore.com/
Cache-Control: no-cache
Host: www.livescore.com
Invisible HTTP Proxy, простой невидимый HTTP прокси
Хочу написать простой (без излишеств) невидимый HTTP прокси.
Тоесть программа стартует, интерфейс и т.д. не создает и слушает заданый порт.
Когда к нему идет соединение (проверяется IP по списку разрешенных) и дальше все что приходит на этот порт (а это просто HTTP запрос вида GET ... или POST ... или CONNECT ... ) отправляет на другой HTTP прокси. Такой себе мостик/тунель.
Кроме того в планах делать замену запросов
Код:
на такой
Код:
GET http://64.49.221.121/ HTTP/1.1
Accept: */*
Referer: http://www.livescore.com/
Cache-Control: no-cache
Host: www.livescore.com
Accept: */*
Referer: http://www.livescore.com/
Cache-Control: no-cache
Host: www.livescore.com
То-есть просто менять в URL имя домена на IP.
Может у кого есть какие нароботки/каркас и т.д.
Никакой функциональности и обработки не нужно. Просто отлов сообщений на порт и отправка на другой IP:Port один к одному.
Когда это заработает - приймусь за обработку Домен->IP
Раньше никогда не пробовал писать многопоточные и т.д. программы потому даже не знаю с чего начать.
Нашел простой прокси.
Перекомпилил, добавил работу в цепочке (изначально он был ориентирован на отправку запроса напрямую на сервер, а мне нужно вклинить между мей машиной и другим HTTP прокси).
Но странный глюк - запросы принимает, отправляет другому прокси, тот дает ответ, страничка грузиться, а потом или вылетает ошибкой сам прокси или уходит в цикл на перезагрузку одной и той же странички.
Даже не знаю где смотреть и как исправить.
Кто может чем помочь?
Вот сам HTTP proxy http://dump.ru/files/7/73874774/
http://www.livescore.com/ HTTP/1.1
и ты хочешь сказать вот это работает??? вообще-то в спецификации HTTP 1.1 в гете передаётся путь к файлу относительно сервера. а имя сервера передаётся в поле Host. и уж протокол -- тот и вовсе не указывается
GET
и ты хочешь сказать вот это работает??? вообще-то в спецификации HTTP 1.1 в гете передаётся путь к файлу относительно сервера. а имя сервера передаётся в поле Host. и уж протокол -- тот и вовсе не указывается
http://www.livescore.com/ HTTP/1.1
и ты хочешь сказать вот это работает??? вообще-то в спецификации HTTP 1.1 в гете передаётся путь к файлу относительно сервера. а имя сервера передаётся в поле Host. и уж протокол -- тот и вовсе не указывается[/QUOTE]
тоесть так: GET /index.php?id=1 HTTP/1.1
PS. Интересно было бы посмотреть как бы сервер отреагировал напимер на такое (если бы писалось с протоколом и адресом):
GET ftp://ftp.site.com/ HTTP/1.1
Host: site.com:80
:D
[QUOTE=<SCORP>;176206]GET
и ты хочешь сказать вот это работает??? вообще-то в спецификации HTTP 1.1 в гете передаётся путь к файлу относительно сервера. а имя сервера передаётся в поле Host. и уж протокол -- тот и вовсе не указывается[/QUOTE]
тоесть так: GET /index.php?id=1 HTTP/1.1
PS. Интересно было бы посмотреть как бы сервер отреагировал напимер на такое (если бы писалось с протоколом и адресом):
GET ftp://ftp.site.com/ HTTP/1.1
Host: site.com:80
:D
Цитата: HexEdit
5 баллов!!! ))
Цитата: HexEdit
PS. Интересно было бы посмотреть как бы сервер отреагировал напимер на такое (если бы писалось с протоколом и адресом):
GET ftp://ftp.site.com/ HTTP/1.1
Host: site.com:80
:D
Ну так зашел телнетом бы и проверил.
Сокорее всего 400-ю ошибку бы вернул (Bad Request)