Я отправляю post запросы на сайт и в ответ получаю некую xml строку, которую потом обрабатываю. На домашнем компьютере всё работает нормально, но на работе все запросы должны проходить через прокси-сервер, который непременно требует аутентификации - возникает ошибка 407. Выключить поддержку прокси нельзя - опять возникает та же ошибка с аутентификацией (307 ошибка с текстом Authentication required).
Я так понимаю, что если я добавлю в код свой рабочий логин и пароль на компьютер, то всё заработает. Но хочется, чтобы программа работала и на компьютерах других пользователей. Поэтому возникает вопрос - можно ли как-то использовать данные для аутентификации, которые по умолчанию использует Internet Explorer и Firefox? Как это организовано в Firefox, почему он не требует от меня при первом запуске мой логин и пароль, чтобы установить соединение с прокси сервером? Или всё-таки придётся просить пользователя вводить свой логин и пароль для аутентификации?
theurl = 'someurl' datadict = { 'param1': "xxxx", 'param2' : "yyyy"} txtdata = urllib.urlencode (datadict) proxy_support = urllib2.ProxyHandler() opener = urllib2.build_opener(proxy_support) txheaders = {'User-agent' : 'Mozilla/4.0 (compatible; MSIE 8.0; Win32)'} try: req = urllib2.Request(theurl, txtdata, txheaders) # create a request object handle = opener.open(req) # and open it to return a handle on the url HTMLSource = handle.read() print HTMLSource