背景
想使用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