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

本文介绍了解决使用urllib.request模块中urlopen方法时,因proxies参数引起的错误问题。通过查找Python内部源码,定位到问题所在,并提供了解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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_localnet.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)



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值