Я понимаю, что самый популярный способ получить ресурсы от http с помощью аутентификации - это использовать код ниже.urllib2 http-запрос с аутентификацией через прокси
import urllib2, base64
request = urllib2.Request("http://api.foursquare.com/v1/user")
base64string = base64.encodestring('%s:%s' % (username, password)).replace('\n', '')
request.add_header("Authorization", "Basic %s" % base64string)
result = urllib2.urlopen(request)
Мой вопрос в том, нужно ли мне настроить прокси-сервер, какой код следует добавить к вышеуказанному блоку кода? Я попробовал один ниже, но это не сработало. Сообщение об ошибке urllib2.URLError:
<urlopen error [Errno 10060] A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond>
Вот код:
import urllib2
import base64
proxy_id = "ididid"
proxy_pw = "password"
proxyhandler = urllib2.ProxyHandler({"http":"http://"+proxy_id+":"+proxy_pw+"@proxy:8080"})
opener = urllib2.build_opener(proxyhandler)
urllib2.install_opener(opener)
request = urllib2.Request("http://api.foursquare.com/v1/user")
base64string = base64.encodestring('%s:%s' % (username, password)).replace('\n', '')
request.add_header("Authorization", "Basic %s" % base64string)
result = urllib2.urlopen(request)
Спасибо, сэр. Я забыл упомянуть, что мой прокси-блок хорошо работает для других веб-приложений. Мой блок запросов urllib2 работает хорошо, когда нет прокси. Но они не работают вместе, когда есть как прокси, так и HTTP-аутентификация ... Поэтому просто изменение кода для настройки прокси-сервера не помогло. В очередной раз благодарим за помощь! –