【发布时间】:2021-05-15 21:38:12
【问题描述】:
如何通过ip地址发出https请求?,以cloudflare为例:
>>> import requests
>>> requests.get('https://104.18.5.125/', verify=False, headers={ 'host': 'example.com' })
...
requests.exceptions.SSLError: HTTPSConnectionPool(host='104.18.5.125', port=443): Max retries exceeded with url: / (Caused by SSLError(SSLError("bad handshake: Error([('SSL routines', 'ssl3_read_bytes', 'sslv3 alert handshake failure')])")))
但是当使用原始主机名发出请求时可以正常工作。
>>> requests.get('https://example.com/', verify=False)
<Response [200]>
当尝试从 Mozilla Firefox 访问时说:SSL_ERROR_NO_CYPHER_OVERLAP。
需要测试远程 https 服务器以检查虚拟主机,但无法使用 ip 地址发出请求。如何禁用来自 python3 代码的警告并发出请求?
【问题讨论】:
标签: python-3.x ssl https