Я установил прокси-сервер на urllib2, а затем не могу его изменить - PullRequest
0 голосов
/ 15 ноября 2009

Как видно из названия, мой код в основном делает это:

установить прокси, протестировать прокси, сделать что-нибудь интересное

Но после того, как прокси настроен в первый раз, он так и останется неизменным. Это код ошибки:

    # Pick proxy
    r = random.randint(0, len(proxies) - 1)
    proxy = proxies[r]
    print proxy

    # Setup proxy
    l_proxy_support = urllib2.ProxyHandler({"http": "http://{0}:{1}".format(*proxy)})
    l_opener = urllib2.build_opener(l_proxy_support)

    try:
        l_req = l_opener.open(
            urllib2.Request('http://[MYIPADDRESSHERE]/ip.php', None, agent)
        )
        print l_req.read()
    except urllib2.URLError:
        print "Proxy not functioning, aborting..."

    # Do cool stuff here, not really relevant

В итоге получается:

['X.Y.Z.124', '666', 'http']
[Skarlet] Your IP address is: X.Y.Z.124
['X2.Y2.Z2.190', '666', 'http']
[Skarlet] Your IP address is: X.Y.Z.124
['X3.Y3.Z3.41', '666', 'http']
[Skarlet] Your IP address is: X.Y.Z.124

Я сейчас очень озадачен.

Спасибо за ваше время.

PD: скрипт, который отвечает с моего домашнего IP-адреса, это просто PHP, повторяющий $ _SERVER ['REMOTE_ADDR'].

1 Ответ

1 голос
/ 15 ноября 2009

Это кажется странным. Я всегда считал модуль httplib2 самым простым Python HTTP-клиентом для работы. Есть пример использования httplib2 с модулем socks .

Извините, я знаю, что это не конкретный ответ на ваш вопрос, но это может быть обходной путь, чтобы попробовать.

...