Как я могу открыть веб-сайт с urllib через прокси в Python?

У меня есть эта программа, которые проверяют веб-сайт, и я хочу знать, как я могу проверить его через прокси в Python...

это - код, просто например,

while True:
    try:
        h = urllib.urlopen(website)
        break
    except:
        print '['+time.strftime('%Y/%m/%d %H:%M:%S')+'] '+'ERROR. Trying again in a few seconds...'
        time.sleep(5)
28
задан Ciro Santilli 新疆改造中心法轮功六四事件 28 December 2015 в 10:59
поделиться

1 ответ

По умолчанию urlopen использует переменную среды http_proxy , чтобы определить, какой HTTP-прокси использовать:

$ export http_proxy='http://myproxy.example.com:1234'
$ python myscript.py  # Using http://myproxy.example.com:1234 as a proxy

Если вы вместо этого хотите указать прокси внутри вашего приложения, вы можете указать аргумент прокси для urlopen :

proxies = {'http': 'http://myproxy.example.com:1234'}
print "Using HTTP proxy %s" % proxies['http']
urllib.urlopen("http://www.google.com", proxies=proxies)

Редактировать: Если я правильно понимаю ваши комментарии, вы хотите попробовать несколько прокси и распечатать каждый прокси по мере его использования. Как насчет этого?

candidate_proxies = ['http://proxy1.example.com:1234',
                     'http://proxy2.example.com:1234',
                     'http://proxy3.example.com:1234']
for proxy in candidate_proxies:
    print "Trying HTTP proxy %s" % proxy
    try:
        result = urllib.urlopen("http://www.google.com", proxies={'http': proxy})
        print "Got URL using proxy %s" % proxy
        break
    except:
        print "Trying next proxy in 5 seconds"
        time.sleep(5)
39
ответ дан 28 November 2019 в 02:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: