微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python3连接ESelasticsearch时https请求处理

python环境:python3.8.8
ES(elasticsearch)版本 7.1.1

1.进行https请求时,忽略ssl证书验证,将context赋值给ssl_context 即可

from elasticsearch import Elasticsearch
#查看证书位置
import ssl
##忽视证书
context = ssl._create_unverified_context()

ES =["127.0.0.1:9200"]
# 创建elasticsearch客户端
es = Elasticsearch(
    ES,
    http_auth=('username', 'passward'),##账号密码
    scheme="https",
    ssl_context=context,
)
index = "index"
print(es)
print(es.ping())
res = es.indices.exists(index = index)
print(res)

2.elasticsearch.exceptions.UnsupportedProductError: The client noticed that the server is not a supported distribution of Elasticsearch

这里的问题是python中的elasticsearch 包的版本和 ES服务端的版本不匹配

可以改变python 中elasticsearch的版本,与服务端ES版本保持一致

pip uninstall elasticsearch
pip install elasticsearch==7.1

3.ssl证书报警

/usr/anaconda/lib/python3.8/site-packages/urllib3/connectionpool.py:997: InsecureRequestWarning: Unverified HTTPS request is being made to host ‘172.16.0.73’. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings

import requests

# 加上这行代码即可,关闭安全请求警告
requests.packages.urllib3.disable_warnings()

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐