簡體   English   中英

即使在配置代理后,使用urllib或urllib2連接到網絡也無法正常工作

[英]Connect to network not working using urllib or urllib2 even after configuring proxy

即使使用了proxyhandler(在urllib2的情況下)並在urllib中設置代理,我也無法使用urllib或urllib2打開read()的url。 我使用代理連接到互聯網的網絡有代理(取自我的瀏覽器)是:

HTTP代理:someproxy.com端口:1080

我試過urllib:

import urllib
myproxies = {'http':'http://someproxy.com:1080'}
data = urllib.urlopen('http://www.google.com', proxies = myproxies).read()

但我收到這個錯誤:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Python27\lib\urllib.py", line 84, in urlopen
    return opener.open(url)
  File "C:\Python27\lib\urllib.py", line 200, in open
    return self.open_unknown_proxy(proxy, fullurl, data)
  File "C:\Python27\lib\urllib.py", line 219, in open_unknown_proxy
  raise IOError, ('url error', 'invalid proxy for %s' % type, proxy)
IOError: [Errno socket error] [Errno 11001] getaddrinfo failed'

並為urllib2:

import urllib2
proxy = urllib2.ProxyHandler({'http':'http://someproxy.com:1080'})
opener1 = urllib2.build_opener(proxy)
urllib2.install_opener(opener1)
urllib2.urlopen('http://www.google.com')'

我收到此錯誤:

Traceback (most recent call last):
   File "<stdin>", line 1, in <module>
   File "C:\Python27\lib\urllib2.py", line 126, in urlopen
     return _opener.open(url, data, timeout)
   File "C:\Python27\lib\urllib2.py", line 394, in open
     response = self._open(req, data)
   File "C:\Python27\lib\urllib2.py", line 412, in _open
     '_open', req)
   File "C:\Python27\lib\urllib2.py", line 372, in _call_chain
     result = func(*args)
   File "C:\Python27\lib\urllib2.py", line 1199, in http_open
     return self.do_open(httplib.HTTPConnection, req)
   File "C:\Python27\lib\urllib2.py", line 1174, in do_open
     raise URLError(err)
 urllib2.URLError: <urlopen error [Errno 11001] getaddrinfo failed>

任何幫助將不勝感激。

MRick

我想你想要以下urllib

...
proxies = {'http':'http://someproxy.com:1080/'}
data = urllib.urlopen('http://www.google.com', proxies=proxies).read()
...

或者這個為urllib2

...
proxy = urllib2.ProxyHandler({'http':'http://someproxy.com:1080'})
...

請注意,代理URL包含您的代碼省略的協議部分。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM