![]() |
Помогите с HTTP-proxy
Народ, нужна помощь. Сталкнулся с такой проблемой:
Нужно послать одному сайту запрос через HTTP-proxy. Сложность заключается в том, что у этого сайта HOST не соответствует IP, поэтому подключаться нужно по IP а в поле host ставить нужный хост. т.е. обычный запрос без прокси осуществлялся бы примерно так: 1) подключение к адресу 111.111.111.111 2) посылка запроса: GET http://hostname.ru/cgi.exe?param HTTP/1.0 Host: hostname.ru Вот незнаю как написать запрос, чтобы осуществить такое через прокси. Т.К из за того что hostname.ru не соответсвует IP, то запросы такого вида не катят: 1)по неизвестным причинам не работает :\ GET http://hostname.ru/cgi.exe?param HTTP/1.1 Host: 111.111.111.111 Proxy-Connection: Keep-Alive 2) сервер подключится к неправильному IP, который будет соответсвовать hostname.ru GET http://hostname.ru/cgi.exe?param HTTP/1.1 Host: hostname.ru Proxy-Connection: Keep-Alive 3) не передаст серверу hostname.ru в http заголовке GET http://111.111.111.111/cgi.exe?param HTTP/1.1 Host: 111.111.111.111 Proxy-Connection: Keep-Alive 4) сервер подключится к неправильному IP, который будет соответсвовать hostname.ru GET http://111.111.111.111/cgi.exe?param HTTP/1.1 Host: hostname.ru Proxy-Connection: Keep-Alive Как вы уже поняли для решения задачи, нужно просто какимто образом заставить прокси отослать запрос вида: GET http://hostname.ru/cgi.exe?param HTTP/1.0 Host: hostname.ru на сервекр с адресом 111.111.111.111 |
Немного не понял: 111,111,111,111 == прокся или ip сервера с фейковым сайтом?
Добавил: Туплю=( А зачем тебе именно HTTP-Proxy, тут имхо через сокс удобнее будет |
111.111.111.111 - это адрес самого сервера, где находится сайт.
который принимает запросы типа: GET http://hostname.ru/cgi.exe?param HTTP/1.0 Host: hostname.ru При том, что запросы вида: GET /cgi.exe?param HTTP/1.0 Host: hostname.ru Не катят. И по hostname.ru - нельзя отпределить ip сервера с сайтом. т.е. hostname.ru - удален из базы DNS сервера. Но он прописан как виртуальных сервер на сайте. Именно по этому к серваку с сайтом нужно подрубаться через IP, но поле host должно быть hostname.ru и зам запрос GET http://nostname.ru/cgi.exe?param HTTP/1.0 Просто может можно какнить добавить свои поля, которые будет прокси передавать серверу. |
Тогда по-моему самый правильный вариант это:
Цитата:
|
при работе с проксей сам header не меняеться!
он остаеться: Цитата:
|
Цитата:
HOST - nostname.ru; PORT - 80<br>Connection timed out hostname.ru - выдуманное доменно имя. на деле использую нужное. |
ну мертвый проксик! 3 секунды таймлимита вполне достаточно
|
Просто тут дело скорей вот в чем:
Прокси сервер подключаюся к WEB-сервуру и конвертирует запрос: GET http://111.111.111.111/cgi.exe?param HTTP/1.1 Host: hostname.ru Proxy-Connection: Keep-Alive в такой вот вид: GET /cgi.exe?param HTTP/1.0 или HTTP/1.1 Host: hostname.ru А на деле нужен запрос GET http://hostname.ru/cgi.exe?param HTTP/1.1 Host: hostname.ru т.е. обрезарается часть http://hostname.ru скорее всего поэтому и глюки :\ |
ПРокси 100% рабочий.
|
в запросе через http proxy нужно и можно указывать только протокол, хост и его версию
GET http://www.xek.org/ HTTP/1.0 и никакой host не нужен |
| Время: 04:14 |