Не сильно опытный я в сетевом программировании, но понадобилось написать прогу, которая по http протоколу запрашивает и скачивает ресурс.
На домашнем компе прога работает следующим образом: узнает адрес хоста по имени, создает сокет, шлет на 80-й порт серверу
GET url HTTP/1.0
User-Agent: myagent
Accept: */*
и получает страницу с кодом ответа сервера 200.
Там, где прога должна работать, организована локальная сеть, которую контролирует что-то, что называется "ISA Server". При таком же запросе возвращается код ответа 403 с просьбой авторизации. Из настроек браузера известен IP и порт 8080.
Помогите, пожалуйста, составить правильный для этой ситуации запрос и скажите, кому его нужно слать.
Здравствуйте, isch, Вы писали:
I>Не сильно опытный я в сетевом программировании, но понадобилось написать прогу, которая по http протоколу запрашивает и скачивает ресурс.
I>На домашнем компе прога работает следующим образом: узнает адрес хоста по имени, создает сокет, шлет на 80-й порт серверу
I>GET url HTTP/1.0 I>User-Agent: myagent I>Accept: */*
I>и получает страницу с кодом ответа сервера 200.
I>Там, где прога должна работать, организована локальная сеть, которую контролирует что-то, что называется "ISA Server". При таком же запросе возвращается код ответа 403 с просьбой авторизации. Из настроек браузера известен IP и порт 8080.
I>Помогите, пожалуйста, составить правильный для этой ситуации запрос и скажите, кому его нужно слать.
I>Заранее благодарен.
значит ты через прокси лезешь,
надо добавить строчку, приведу примерный код
Здравствуйте, ilnar, Вы писали:
I>значит ты через прокси лезешь, I>надо добавить строчку, приведу примерный код
I>sprintf(str, "Proxy-Authorization: Basic %s\n\r", encodeBase64("username:password"));
I>тебе нужно еще имя юзверя и его пароль соответственно (на этот сервак ISA...).
А слать-то запрос куда обычно, или менять IP и порт на ISA-шный?
Здравствуйте, isch, Вы писали:
I>А слать-то запрос куда обычно, или менять IP и порт на ISA-шный?
вот это сказать не смогу.
обычно прокси работает так, что уже заранее на него целишься, иначе ты даже 403 не получишь. скорее он как-то работает на перехват или есть система, перенаправляющая тебя.
да и 403 не обязательно требование авторизации, ты можешь ответ полностью показать?
Здравствуйте, ilnar, Вы писали:
I>вот это сказать не смогу. I>обычно прокси работает так, что уже заранее на него целишься, иначе ты даже 403 не получишь. скорее он как-то работает на перехват или есть система, перенаправляющая тебя. I>да и 403 не обязательно требование авторизации, ты можешь ответ полностью показать?
Сейчас нет, к сожалению, там было 403 Forbidden и что-то типа "ISA Server, authorisation required" в самой странице прямо HTML-ом.
Здравствуйте, isch, Вы писали:
I>Здравствуйте, ilnar, Вы писали:
I>>вот это сказать не смогу. I>>обычно прокси работает так, что уже заранее на него целишься, иначе ты даже 403 не получишь. скорее он как-то работает на перехват или есть система, перенаправляющая тебя. I>>да и 403 не обязательно требование авторизации, ты можешь ответ полностью показать?
I>Сейчас нет, к сожалению, там было 403 Forbidden и что-то типа "ISA Server, authorisation required" в самой странице прямо HTML-ом.
а у тебя есть права на этот иса сервер (пользователь с паролем)?
можешь выйти на аську 8112260
1) ISA Server
Internet Security and Acceleration Server: firewall + HTTP Proxy + NAT
Хорошая корпоративная штука. Поддерживает кластеры, интегрируется в Active Directory.
2) В чём проблема.
Проблема в том что в настройках IIS/ISA (Где точно пока сказать не могу, информации мало) указано, что к данному веб-серверу анонимы подключаться не могут. Надо авторизоваться.
4) Почему WinInet лучше
Если у пользователя в настройках IE задан прокси-сервер, то и ты будешь его использовать. При соединении через ISA/WinRoute/WinProxy/.... прямой коннект (по ip-адресу) невозможен.