Python 3.x SSL:python请求期间的版本号错误。get

Python 3.x SSL:python请求期间的版本号错误。get,python-3.x,python-requests,pytest,http-proxy,vcr,Python 3.x,Python Requests,Pytest,Http Proxy,Vcr,我正在尝试访问pypi url,如下所示: PYPI_URL = https://pypi.org/pypi/Django/json try: response = requests.get(PYPI_URL) except requests.exceptions.RequestException as err: print("Unable to access Pypi. ", err) 但当我试图为pytest生成vcr磁带时,我得到了这个错误 E

我正在尝试访问pypi url,如下所示:

PYPI_URL = https://pypi.org/pypi/Django/json

try:
    response = requests.get(PYPI_URL)

except requests.exceptions.RequestException as err:
    print("Unable to access Pypi. ", err)
但当我试图为pytest生成vcr磁带时,我得到了这个错误

E       AssertionError: assert 'Unable to access Pypi' not in "Unable to acce...l.c:1108)')))\n"
E         'Unable to access Pypi' is contained here:
E           Unable to access Pypi. Error Connecting:  HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with url: /pypi/Django/json (Caused by SSLError(SSLError(1, '[SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1108)')))
E         ? +++++++++++++++++++++

我做错了什么?为什么只有在我尝试生成磁带时它才会抱怨?如果我只运行pytest而不生成VCR盒式磁带,则测试通过。

我发现此位存在与此类似的问题,问题似乎是当使用错误的端口时,SSL不会返回非常有用的错误。如果您能够找到应该访问的端口,并将其与正在访问的端口进行比较,那么这可能是朝着正确方向迈出的一步。我正在使用端口80。如何找到我应该使用的端口?看起来您的Python安装是根据旧版本的OpenSSL编译的。什么是:1。您的Python版本(
Python-V
),2。您的OpenSSL版本(
OpenSSL版本
)和3。OpenSSL Python的版本是针对(
Python-c“导入ssl;打印(ssl.OpenSSL_版本)”
)链接的?