使用websocket库翻车事故,wss请求报错[SSL: CERTIFICATE_VERIFY_FAILED]的解决方法


最近遇到了一个困扰的问题

项目上有个功能接口使用了wss协议   所以尝试用python来请求验证接口正确性   大概代码如下

from websocket import create_connection

wss_url = "wss://.........."

wss = create_connection(wss_url, timeout=10,sslopt={"cert_reqs": ssl.CERT_NONE})

if wss.status == 101:

  print("connect ok")

但是后端同学搞的证书又不是合法的    导致在请求这个接口时报错:

[SSL: CERTIFICATE_VERIFY_FAILED]

找了很多帖子,几乎都是告诉你关掉证书就好了

import ssl

ssl._create_default_https_context = ssl._create_unverified_context

但是搞了很久,都被这个错误挡在门外.最后在https://blog.csdn.net/yuezhuo_752/article/details/84375733里发现了一行神奇的代码

ws.run_forever(sslopt={"cert_reqs": ssl.CERT_NONE})

经过尝试,最后我的代码也成功关闭了验证大功告成,代码如下:

wss = create_connection(wss_url, timeout=10,sslopt={"cert_reqs": ssl.CERT_NONE})