我尝试使用请求:
url = 'http://bot' # this is a local service
import requests
r = requests.get(url)
我明白了
requests.exceptions.SSLError:HTTPSConnectionPool(host ='bot',port = 443)
我指定了HTTP,而不是HTTPS,但它尝试与SSL连接。
所以,我尝试了httplib2:
url = 'http://bot' # this is a local service
response, content = http.request(url, "GET")
我得到:
ssl.SSLCertVerificationError:[SSL:CERTIFICATE_VERIFY_FAILED]证书验证失败:无法获取本地发行者证书(_ssl.c:1076)
我不知道为什么对HTTPS有一种迷恋,但是我不想要它。它是在开发中运行的本地服务,它是纯HTTP。在网址中添加“:80”不会更改任何内容。
使用CURL或C#通过HTTP访问相同服务时,没问题。
我如何告诉python库我想要一个纯HTTP连接,而没有别的?
答案 0 :(得分:2)
使用requests
库并添加ssl验证选项。您的请求行应如下所示:
r = requests.get(url, verify = False)
答案 1 :(得分:0)
尝试禁用SSL_VERIFICATION
r = requests.get(url, verify = False)