python中location_使用python请求模块时的LocationValueError

我一直在使用请求包与Web进行交互,过去没有任何问题 . 最近当使用我大约一周没用过的脚本时,我在执行例程 requests.get() 调用时遇到以下错误:

LocationValueError: No host specified.

背景研究

经过大量的谷歌搜索 python requests LocationValueError , python requests no host error 和 python urllib3 LocationValueError 的各种排列(根据堆栈跟踪错误由 urllib3 提出请求使用在下面)我只是设法找到隐藏在 urllib3 文档中的这些信息:

exception urllib3.exceptions.LocationValueError在给定的URL输入有问题时引发 .

我尝试了什么

我的版本的请求包可能有问题,因为这可能是请求包中使用的最基本的调用之一,我做了以下操作:

重新安装的请求

使用pip创建了虚拟环境并安装了请求

来自源的已安装请求

expicitly安装urllib3

从源代码安装python 3.4然后尝试了(我现在使用python3.5)

在所有实例中,我使用以下代码来查看请求是否仍然抛出LocationValueError:

import requests

address = 'http://www.google.com/'

requests.get(address)

这在过去一直有效 . 我检查了另一台计算机(一台ubuntu笔记本电脑),它在那里工作,让我认为这个问题是我的电脑特有的 .

问题的堆栈跟踪

这是我在使用virtualenv和python3.4中安装的请求时获得的堆栈跟踪 .

In [5]: import requests

In [6]: requests.get('http://www.google.com/')

---------------------------------------------------------------------------

LocationValueError Traceback (most recent call last)

in ()

----> 1 requests.get('http://www.google.com/')

/home/michael/Documents/my_test_env/lib/python3.4/site-packages/requests/api.py in get(url, params, **kwargs)

67

68 kwargs.setdefault('allow_redirects', True)

---> 69 return request('get', url, params=params, **kwargs)

70

71

/home/michael/Documents/my_test_env/lib/python3.4/site-packages/requests/api.py in request(method, url, **kwargs)

48

49 session = sessions.Session()

---> 50 response = session.request(method=method, url=url, **kwargs)

51 # By explicitly closing the session, we avoid leaving sockets open which

52 # can trigger a ResourceWarning in some cases, and look like a memory leak

/home/michael/Documents/my_test_env/lib/python3.4/site-packages/requests/sessions.py in request(self, method, url, params, data, headers, cookies, files, auth, timeout, allow_redirects, proxies, hooks, stream, verify, cert, json)

466 }

467 send_kwargs.update(settings)

--> 468 resp = self.send(prep, **send_kwargs)

469

470 return resp

/home/michael/Documents/my_test_env/lib/python3.4/site-packages/requests/sessions.py in send(self, request, **kwargs)

574

575 # Send the request

--> 576 r = adapter.send(request, **kwargs)

577

578 # Total elapsed time of the request (approximately)

/home/michael/Documents/my_test_env/lib/python3.4/site-packages/requests/adapters.py in send(self, request, stream, timeout, verify, cert, proxies)

335 """

336

--> 337 conn = self.get_connection(request.url, proxies)

338

339 self.cert_verify(conn, request.url, verify, cert)

/home/michael/Documents/my_test_env/lib/python3.4/site-packages/requests/adapters.py in get_connection(self, url, proxies)

247 proxy = prepend_scheme_if_needed(proxy, 'http')

248 proxy_manager = self.proxy_manager_for(proxy)

--> 249 conn = proxy_manager.connection_from_url(url)

250 else:

251 # Only scheme should be lower case

/home/michael/Documents/my_test_env/lib/python3.4/site-packages/requests/packages/urllib3/poolmanager.py in connection_from_url(self, url)

137 """

138 u = parse_url(url)

--> 139 return self.connection_from_host(u.host, port=u.port, scheme=u.scheme)

140

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

/home/michael/Documents/my_test_env/lib/python3.4/site-packages/requests/packages/urllib3/poolmanager.py in connection_from_host(self, host, port, scheme)

246

247 return super(ProxyManager, self).connection_from_host(

--> 248 self.proxy.host, self.proxy.port, self.proxy.scheme)

249

250 def _set_proxy_headers(self, url, headers=None):

/home/michael/Documents/my_test_env/lib/python3.4/site-packages/requests/packages/urllib3/poolmanager.py in connection_from_host(self, host, port, scheme)

108

109 if not host:

--> 110 raise LocationValueError("No host specified.")

111

112 scheme = scheme or 'http'

LocationValueError: No host specified.

如果有人可以帮助解释错误的原因或指出我正确的方向,那将是最受欢迎的 . 当我使用request.Session对象获取扩展会话的页面时,也会发生此问题 .

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值