Python Http 请求在 Pycharm IDE 中不工作
Python Http Request not working in Pycharm IDE
我在这里有点疯狂,觉得我一定遗漏了一些明显的东西。
我正在尝试使用 python 和 urllib3 从网站上抓取数据。我的代码看起来像
>>> import urllib3
>>> from bs4 import BeautifulSoup
>>>
>>> http = urllib3.PoolManager()
>>> url = 'https://www.google.com/'
>>> r = http.request('GET', url)
>>> data = BeautifulSoup(r.data)
如果我打开我的终端(我在 mac 上),激活我的 conda 虚拟环境,然后启动 python 解释器,这段代码完全按预期工作,拉下 html请求并解析数据。
当我将代码放入我的 Python IDE 并将其设置为完全相同的虚拟环境时,HTTP get 请求失败并且我收到以下错误
{MaxRetryError}HTTPSConnectionPool(host='www.nts.live', port=443): Max retries exceeded with url: /api/v2/shows/powell/episodes?offset=0&limit=12 (Caused by SSLError(SSLError("bad handshake: Error([('SSL routines', 'tls_process_server_certificate', 'certificate verify failed')],)",),))
我过去曾做过类似的请求,但在 Pycharm 中有效,所以这绝对是某个阶段的用户错误。除了我的虚拟环境相同之外,我不确定我应该检查什么?我尝试了多个不同的链接,但问题仍然存在。任何关于为什么会出现此错误的想法将不胜感激!
此错误并非来自 IDE,而是将模块中的代码与其他检索 http 请求的方法结合使用。以上内容存在于我的 data_pull.py
文件中,但是我还有另一个文件 spotify_request.py
也被导入了。此文件使用 import requests
而不是 urllib3,然后使用 requests.get(url)
.
当我 运行 我的代码在终端中独立时,第二次导入从未执行过,代码 运行 顺利。为了解决这个问题,我用请求库 (https://pypi.org/project/requests/) 替换了所有 urllib3 get 请求。我还通过让所有请求都使用 urllib3 和代码 运行 来进行测试。我不确定为什么同时使用两者都不起作用,但这修复了我的错误。
TLDR;我无法在我的包中同时使用 urllib3 和请求 http 调用 - 坚持使用一个!
我在这里有点疯狂,觉得我一定遗漏了一些明显的东西。
我正在尝试使用 python 和 urllib3 从网站上抓取数据。我的代码看起来像
>>> import urllib3
>>> from bs4 import BeautifulSoup
>>>
>>> http = urllib3.PoolManager()
>>> url = 'https://www.google.com/'
>>> r = http.request('GET', url)
>>> data = BeautifulSoup(r.data)
如果我打开我的终端(我在 mac 上),激活我的 conda 虚拟环境,然后启动 python 解释器,这段代码完全按预期工作,拉下 html请求并解析数据。
当我将代码放入我的 Python IDE 并将其设置为完全相同的虚拟环境时,HTTP get 请求失败并且我收到以下错误
{MaxRetryError}HTTPSConnectionPool(host='www.nts.live', port=443): Max retries exceeded with url: /api/v2/shows/powell/episodes?offset=0&limit=12 (Caused by SSLError(SSLError("bad handshake: Error([('SSL routines', 'tls_process_server_certificate', 'certificate verify failed')],)",),))
我过去曾做过类似的请求,但在 Pycharm 中有效,所以这绝对是某个阶段的用户错误。除了我的虚拟环境相同之外,我不确定我应该检查什么?我尝试了多个不同的链接,但问题仍然存在。任何关于为什么会出现此错误的想法将不胜感激!
此错误并非来自 IDE,而是将模块中的代码与其他检索 http 请求的方法结合使用。以上内容存在于我的 data_pull.py
文件中,但是我还有另一个文件 spotify_request.py
也被导入了。此文件使用 import requests
而不是 urllib3,然后使用 requests.get(url)
.
当我 运行 我的代码在终端中独立时,第二次导入从未执行过,代码 运行 顺利。为了解决这个问题,我用请求库 (https://pypi.org/project/requests/) 替换了所有 urllib3 get 请求。我还通过让所有请求都使用 urllib3 和代码 运行 来进行测试。我不确定为什么同时使用两者都不起作用,但这修复了我的错误。
TLDR;我无法在我的包中同时使用 urllib3 和请求 http 调用 - 坚持使用一个!