Я использую следующий код найденную на пост, How to specify an authenticated proxy for a python http connection?Почему я получаю эту ошибку? Ошибка HTTP 407: Proxy Authentication Required
import urllib2
def get_proxy_opener(proxyurl, proxyuser, proxypass, proxyscheme="http"):
password_mgr = urllib2.HTTPPasswordMgrWithDefaultRealm()
password_mgr.add_password(None, proxyurl, proxyuser, proxypass)
proxy_handler = urllib2.ProxyHandler({proxyscheme: proxyurl})
proxy_auth_handler = urllib2.ProxyBasicAuthHandler(password_mgr)
return urllib2.build_opener(proxy_handler, proxy_auth_handler)
if __name__ == "__main__":
import sys
if len(sys.argv) > 4:
url_opener = get_proxy_opener(*sys.argv[1:4])
for url in sys.argv[4:]:
print url_opener.open(url).headers
else:
print "Usage:", sys.argv[0], "proxy user pass fetchurls..."
Я использую прокси-IP, как указано в моем файле wpad.dat для ARGV [1]. (# для обеспечения конфиденциальности)
return "PROXY 138.84.###.###:####";
Я использую свое имя пользователя и пароль для argval [2] и [3]. Когда я использую http://google.com, он выдает соответствующую информацию заголовка. Когда я использую http://shipcsx.com/pub_sx_mainpagepublic_jct/sx.shipcsxpublic/Main, он показывает: Ошибка HTTP 407: Требуется аутентификация прокси.
Благодарим вас, возможно, поэтому Google работает, но не ShipCSX. Я бы сказал, что это относится к SO, хотя из-за того, что мой вопрос заключается в том, почему код не аутентифицирует меня. Я просто добавлял Google.com для получения дополнительной информации. – user3729938
Хорошая вещь об ошибках HTTP заключается в том, что они часто довольно описательны, поскольку они, по крайней мере, говорят вам, где искать проблемы. Предполагая, что ваши учетные данные прокси были правильными (что мы не могли сказать вам), следующий шаг - поговорить с администратором прокси-сервера для получения дополнительной информации. Ваш код выглядит отлично, но мы не можем сказать вам, почему он не будет аутентифицироваться. – paidhima
Хорошо, спасибо вам за помощь. Я неправильно понял. – user3729938