Авторизация на прокси
Создана: 17 Мая 2011 Втр 9:47:05.
Раздел: "Компьютерный раздел"
Сообщений в теме: 6, просмотров: 1942
-
Пишу на С программу, забирающую определенное число с веб-страницы (температуру). Все работает. Добавил работу через прокси. Работает. А вот с работой с прокси через авторизацию - нефига. Помогите разобраться в генерации HTTP запросов.
При работе через прокси без авторизации сначала посылаю серверу запрос: "CONNECT myxa.opsb.ru:80 HTTP/1.1\r\n\r\n" и затем забираю страницу запросом "GET /graphs.html HTTP/1.0\r\nHost:myxa.opsb.ru:80\r\nAccept: */*\r\n\r\n". Курил rfc. По нему составил запрос Connect с авторизацией:
CONNECT myxa.opsb.ru:80 HTTP/1.1\r\n\Proxy-Authorization: Basic a29YW5ldjo1Mjc1MzE=\r\nProxy-Connection: Keep-Alive\r\n\r\n". a29YW5ldjo1Mjc1MzE= - закодированная в base64 пара логин:пароль. Не работает, ошибка 403, хотя по найденным примерам в интернете все точно также. Смотрю сниффером - браузер отсылает такой же запрос, по крайней мере логин:пароль тот же. Что за фигня? Кто-нибудь поделитесь примером правильного формирования запроса с авторизацией на прокси плиз! -
Цитата:GET [внешняя ссылка] HTTP/1.1
Host: [внешняя ссылка]
Proxy-Authorization: Basic D345JHFJDKH84JD
D345JHFJDKH84JD - это base64("логин:пароль")
Я не проверял, взято отсюда -
Я вот щас поискал снова, нашел еще примеры, там все так же как и я выше дал.
Так что имхо, я думаю оно правильно.
А что за прокси сервер у вас? Может в нем проблема?
Я в таких делах просто соединяюсь по telnet и вручную пишу запрос - наглядно и ошибок не допустишь. -
обычный сквид, бэйсик авторизация, сейчас попробую телнетом
ответ сервера:
HTTP/1.0 407 Proxy Authentication Required
Server: squid/2.7.STABLE7
Date: Tue, 17 May 2011 05:55:09 GMT
Content-Type: text/html
Content-Length: 1297
X-Squid-Error: ERR_CACHE_ACCESS_DENIED 0
Proxy-Authenticate: Basic realm="Squid proxy-caching web server"
X-Cache: MISS from skproxy.loc
Via: 1.0 skproxy.loc:8080 (squid/2.7.STABLE7)
Connection: close