在Python中,我想使用HTTP而不是HTTPS进行其他请求,程序包似乎不同意

时间:2019-07-19 11:34:22

标签: python python-requests httplib2

我尝试使用请求:

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连接,而没有别的?

2 个答案:

答案 0 :(得分:2)

使用requests库并添加ssl验证选项。您的请求行应如下所示:

r = requests.get(url, verify = False)

答案 1 :(得分:0)

尝试禁用SSL_VERIFICATION

r = requests.get(url, verify = False)
相关问题