python - 如何处理 requests.exceptions.InvalidURL:无法在 python 中解析?
问题描述
我是python的新用户。我不知道为什么,但 requests 总是抛出 InvalidURL 异常:
>>> import requests
>>> r = requests.get('https://www.google.es/')
输出:
Traceback (most recent call last):
File "/usr/local/lib/python3.7/dist-packages/requests/models.py", line 380, in prepare_url
scheme, auth, host, port, path, query, fragment = parse_url(url)
File "/usr/lib/python3/dist-packages/urllib3/util/url.py", line 392, in parse_url
return six.raise_from(LocationParseError(source_url), None)
File "<string>", line 3, in raise_from
urllib3.exceptions.LocationParseError: Failed to parse: https://www.google.es/
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python3.7/dist-packages/requests/api.py", line 76, in get
return request('get', url, params=params, **kwargs)
File "/usr/local/lib/python3.7/dist-packages/requests/api.py", line 61, in request
return session.request(method=method, url=url, **kwargs)
File "/usr/local/lib/python3.7/dist-packages/requests/sessions.py", line 516, in request
prep = self.prepare_request(req)
File "/usr/local/lib/python3.7/dist-packages/requests/sessions.py", line 459, in prepare_request
hooks=merge_hooks(request.hooks, self.hooks),
File "/usr/local/lib/python3.7/dist-packages/requests/models.py", line 314, in prepare
self.prepare_url(url, params)
File "/usr/local/lib/python3.7/dist-packages/requests/models.py", line 382, in prepare_url
raise InvalidURL(*e.args)
requests.exceptions.InvalidURL: Failed to parse: https://www.google.es/
此错误与我提供的网址无关。我该如何处理?
请求的 Python 版本为 3.7.7 和 2.23.0。
此致。
解决方案
由于新版本urllib3
(某些用户往往会遇到此问题),您遇到了错误。
该错误不是由于,requests
而是问题在于urllib3
安装时安装的(新版本)requests 2.21.0+
。
为避免这种情况,请尝试更新urllib3
:
python -m pip install --upgrade urllib3
或安装requests v2.21.0
:
pip uninstall requests # to remove current version
pip install requests==2.21.0
- 只需将其降级为
v2.21.0
版本
推荐阅读
- .net-core - .net core angular 6 app ngx-bootstrap 不工作错误:'Cannot GET /'
- ios - Carista OBD || 与 iOS 设备的设备通信
- javascript - 将纪元时间转换为日期 - MomentJS
- c# - 使用 JSON.NET 将部分 json 反序列化为 C# 中的数据表
- jquery - 延迟加载背景图片,去掉data-src onload
- python - Tensorflow 检查哪些示例预测正确,哪些预测不正确(混淆矩阵的种类)
- javascript - .net Jquery CheckBox onchange 事件失去价值
- java - 如何使用spring data mongo db在mongodb中创建视图
- java - 如何使用 APDU 读取和下载 ddd 行驶记录仪文件?
- python - 尝试过滤输入