requests访问https站点证书告警问题

时间:2024-11-10 14:06:44

背景

想使用api的方式去访问公司内部azkaban平台,https站点,azkaban的官方api文档使用的curl语句,如下:

curl -k -X POST --data "action=login&username=azkaban&password=azkaban" https://localhost:8443

其中-k 表示 允许curl使用非安全的ssl连接并且传输数据(证书不受信)

因此,需要在python的request请求中设置这个

操作

其实很简单,在requests的请求中加入一个传参(verify=False),如下:

resp = requests.post(
url=azkaban_url,
headers=header,
data=data,
verify=False
)

但加了这个会有一个warnning告警,意思是提示不安全,毕竟这个是不去理会SSL证书安全问题

大概的错误如下:

/usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/connectionpool.py:791: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.org/en/latest/security.html
InsecureRequestWarning)

官方给出解决方法如下:

import urllib3

# 关闭SSL认证warn
urllib3.disable_warnings()

参考

https://azkaban.readthedocs.io/en/latest/ajaxApi.html#authenticate

https://www.cnblogs.com/lxyit/p/9173842.html

https://blog.bbzhh.com/index.php/archives/111.html