gpt4 book ai didi

python - 如何在 Python 2.7.10+ 中使用 SSL 连接到 HTTPS 服务器并使证书可信?

转载 作者:行者123 更新时间:2023-11-28 19:18:19 24 4
gpt4 key购买 nike

我想使用带有证书验证和主机名验证的 ssl 连接到 https 服务器(不建议关闭验证,因为它可以工作)。如何用这段代码来做?

import ssl
import socket

context = ssl.create_default_context()
context.check_hostname = True
context.verify_mode = ssl.CERT_REQUIRED

conn = context.wrap_socket(socket.socket(socket.AF_INET),
server_hostname='adwords.google.com')
conn.connect(('adwords.google.com', 443))

不是连接而是异常:

Traceback (most recent call last):
File "C:/Users/Crezary Wagner/PycharmProjects/learn-adwords/src/03_ssl.py", line 16, in <module>
conn.connect(('adwords.google.com', 443))
File "C:\root\Python27\lib\ssl.py", line 844, in connect
self._real_connect(addr, False)
File "C:\root\Python27\lib\ssl.py", line 835, in _real_connect
self.do_handshake()
File "C:\root\Python27\lib\ssl.py", line 808, in do_handshake
self._sslobj.do_handshake()
ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590)

Process finished with exit code 1

我很清楚证书无法被验证为受信任的但是如何使这个证书在 Python 2.7.10+ 中受信任并连接?

如果可能的话,我想在系统中而不是在上下文中设置它。

最佳答案

import requests
from requests.packages.urllib3.exceptions import InsecureRequestWarning

requests.packages.urllib3.disable_warnings(InsecureRequestWarning)
response = requests.get('https://adwords.google.com', verify=False)
print response.content

关于python - 如何在 Python 2.7.10+ 中使用 SSL 连接到 HTTPS 服务器并使证书可信?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30707777/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com