这是我第一次在Locus尝试,不幸的是我不了解Python。
我正在尝试向有效的https服务器发送简单请求,但看到此错误:
SSL:CERTIFICATE_VERIFY_FAILED]证书验证失败:无法 获得本地发行人证书
经过研究,我尝试添加以下内容:
import gevent
import geventhttpclient.connectionpool
geventhttpclient.connectionpool.SSLConnectionPool.default_options = {
"cert_reqs": gevent.ssl.CERT_NONE,
}
或者这个:
import requests
requests.packages.urllib3.disable_warnings() # disable SSL warnings
我按照指示运行蝗虫:
docker-compose up --scale worker=4
如何使用Locust测试https网站?
预先感谢
致谢
答案 0 :(得分:0)
使用自签名证书连接到服务器时,我遇到了类似的问题。我使用以下代码(来自Locust)成功禁用了证书验证:
import gevent
from geventhttpclient.url import URL
from geventhttpclient import HTTPClient
def insecure_ssl_context_factory():
context = gevent.ssl.create_default_context()
context.check_hostname = False
context.verify_mode = gevent.ssl.CERT_NONE
return context
url = URL(server)
http = HTTPClient.from_url(url, insecure=True, ssl_context_factory=insecure_ssl_context_factory)
答案 1 :(得分:0)
您可以通过添加以下方法来关闭验证:
def on_start(self):
""" on_start is called when a Locust start before any task is scheduled """
self.client.verify = False