IOError: [Errno url error] неверный прокси для http: 'xxx.xxx.xxx.xxx' - PullRequest
3 голосов
/ 07 июля 2010

У меня проблемы с моим сценарием. Он должен открывать сайт через прокси, но я всегда получаю эту ошибку с несколькими прокси, которые я пытаюсь ...

Что бы это могло быть?

Traceback (most recent call last):
  File "C:\Users\Shady\Desktop\ptzplace.3.0 - Copy.py", line 43, in <module>
    h = urllib.urlopen(website, proxies = {'http': proxy})
  File "C:\Python26\lib\urllib.py", line 86, in urlopen
    return opener.open(url)
  File "C:\Python26\lib\urllib.py", line 200, in open
    return self.open_unknown_proxy(proxy, fullurl, data)
  File "C:\Python26\lib\urllib.py", line 219, in open_unknown_proxy
    raise IOError, ('url error', 'invalid proxy for %s' % type, proxy)
IOError: [Errno url error] invalid proxy for http: 'xxx.xxx.xxx.xxx'

Сценарий такой

proxylist = ['79.174.195.84:80',
             '79.174.195.82:80',
             '80.233.184.227:8080',
             '79.174.195.80:80',
             '80.233.184.226:8080',
             '79.174.33.95:3128']
for proxy in proxylist:
            h = urllib.urlopen(website, proxies = {'http': proxy})

Ответы [ 3 ]

8 голосов
/ 10 ноября 2011

Попробуйте urllib2.urlopen вместо urllib.urlopen. У меня были ситуации, когда на моем прокси-сервере подавалось urllib.urlopen, но urllib2.urlopen прекрасно открывалось.

5 голосов
/ 07 июля 2010

Я полагаю, что вам нужен идентификатор схемы http перед каждым прокси

proxylist = ['http://79.174.195.84:80',... 'http://79.174.33.95:3128'] 
3 голосов
/ 07 июля 2010

Я пробую следующий код с вашим прокси-листом, но он слишком длинный, поэтому у меня есть другие прокси: P

import urllib
website = 'http://www.google.com/'
proxylist = ('http://75.101.215.123:9090', 'http://94.198.47.6:3128')
connlist = (urllib.urlopen(website, proxies = {'http': proxy}) for proxy in proxylist)
for conn in connlist:
    print conn.read()
    conn.close()
...