您的位置:首页 > 编程语言 > Python开发

python3.5里面 urlopen 代理不能识别proxies关键字的问题

2018-01-10 15:40 573 查看
urllib.request 里面 的 urlopen  proxies={‘http’:proxies} 无法识别出现 下列错误如何解决

got an unexpected keyword argument 'proxies'


首先通过 cmd,用命令 python -v

找到   C:\Users\computorname\AppData\Local\Programs\Python\Python35\lib

这个位置就是 python的 源码函数类库的存储位置

用sublime或其他编辑器 查找上面的文件夹, 查找内容为 def urlopen

C:\Users\computorname\AppData\Local\Programs\Python\Python35\Lib\site-packages\pip\_vendor\requests\packages\urllib3\connectionpool.py:

  434          return (scheme, host, port) == (self.scheme, self.host, self.port)

  435  

  436:     def urlopen(self, method, url, body=None, headers=None, retries=None,

  437                  redirect=True, assert_same_host=True, timeout=_Default,

  438                  pool_timeout=None, release_conn=None, **response_kw):

C:\Users\computorname\AppData\Local\Programs\Python\Python35\Lib\site-packages\pip\_vendor\requests\packages\urllib3\contrib\appengine.py:

   86          return False

   87  

   88:     def urlopen(self, method, url, body=None, headers=None,

   89                  retries=None, redirect=True, timeout=Timeout.DEFAULT_TIMEOUT,

   90                  **response_kw):

C:\Users\computorname\AppData\Local\Programs\Python\Python35\Lib\site-packages\pip\_vendor\requests\packages\urllib3\contrib\ntlmpool.py:

  105          return conn

  106  

  107:     def urlopen(self, method, url, body=None, headers=None, retries=3,

  108                  redirect=True, assert_same_host=True):

  109          if headers is None:

C:\Users\computorname\AppData\Local\Programs\Python\Python35\Lib\site-packages\pip\_vendor\requests\packages\urllib3\poolmanager.py:

  140          return self.connection_from_host(u.host, port=u.port, scheme=u.scheme)

  141  

  142:     def urlopen(self, method, url, redirect=True, **kw):

  143          """

  144          Same as :meth:`urllib3.connectionpool.HTTPConnectionPool.urlopen`

  ...

  264          return headers_

  265  

  266:     def urlopen(self, method, url, redirect=True, **kw):

  267          "Same as HTTP(S)ConnectionPool.urlopen, ``url`` must be absolute."

  268          u = parse_url(url)

C:\Users\computorname\AppData\Local\Programs\Python\Python35\Lib\site-packages\pip\_vendor\requests\packages\urllib3\request.py:

   45          self.headers = headers or {}

   46  

   47:     def urlopen(self, method, url, body=None, headers=None,

   48                  encode_multipart=True, multipart_boundary=None,

   49                  **kw):  # Abstract

C:\Users\computorname\AppData\Local\Programs\Python\Python35\Lib\test\test_urllib.py:

   34  

   35  

   36: def urlopen(url, data=None, proxies=None):

   37      """urlopen(url [, data]) -> open file-like object"""

   38      global _urlopener

C:\Users\computorname\AppData\Local\Programs\Python\Python35\Lib\test\test_urllib2_l
4000
ocalnet.py:

  451          super(TestUrlopen, self).tearDown()

  452  

  453:     def urlopen(self, url, data=None, **kwargs):

  454          l = []

  455          f = urllib.request.urlopen(url, data, **kwargs)

C:\Users\computorname\AppData\Local\Programs\Python\Python35\Lib\test\test_urllibnet.py:

   48  

   49      @contextlib.contextmanager

   50:     def urlopen(self, *args, **kwargs):

   51          resource = args[0]

   52          with support.transient_internet(resource):

C:\Users\computorname\AppData\Local\Programs\Python\Python35\Lib\urllib\request.py:

  138  

  139  _opener = None

  140: def urlopen(url, data=None, timeout=socket._GLOBAL_DEFAULT_TIMEOUT,

  141              *, cafile=None, capath=None, cadefault=False, context=None):

  142      global _opener

10 matches across 9 files

发现上面 test/testurllib.py里面有 proxies关键字

就导入这个类库即可 from test.test_urllib import urlopen

from contextlib import closing

# from urllib.request import urlopen

from test.test_urllib import urlopen

# import urllib

# import requests

proxyConfig="http://%s:%s@%s"%("username","password","10.110.4.235:8080")

print(proxyConfig)

with closing(urlopen("https://www.python.org",proxies={'http':proxyconfig})) as page:

    for line in page:

        print(line)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐