python - Locust - Python - ssl.SSLError: [SSL] PEM lib (_ssl.c:4065)
问题描述
我是 python 和 locust 的新手,试图运行我的第一个 locust perf 脚本来测试 API 但是,我收到以下代码的错误 ssl.SSLError: [SSL] PEM lib (_ssl.c:4065)。
class MyHttpTest(HttpUser):
wait_time = constant(5)
host = "https://abc.myorg.net"
headers = {
'Content-Type': "application/json",
'Ocp-Apim-Trace': "true",
'Ocp-Apim-Subscription-Key': "<APIM subscription Key>",
'Cache-Control': "no-cache"
}
payload = "{\n\t\"name\": \"abc\"\n}"
@task
def get_status(self):
self.client.headers = self.headers
self.client.verify = False
self.client.post("/uam/Link/Get/v1", data=self.payload,
cert=("<path to pfx certificate>",
"<password of pfx certificate"))
解决方案
检查这些:
“SSLError: [SSL] PEM lib (_ssl.c:2532)”是什么意思使用 Python ssl 库?
很确定问题出在您尝试用作证书的 .pfx 文件上。Locust 的 HttpUser 的客户端是基于 Requests 的。我目前找不到任何说请求可以直接使用 .pfx 文件的内容。您需要具有 .cert 或 .pem 格式。我还没有尝试过,但我发现一个要点说它可以让你使用 .pfx 和 Requests 所以它应该可以与 Locust 一起工作,我想。
https://gist.github.com/erikbern/756b1d8df2d1487497d29b90e81f8068
推荐阅读
- database - 将实际位置地址保存到数据库和查询的推荐方法
- python - AttributeError:“Conv2D”对象没有属性“get_config”
- php - 使用 Docker 和 PHP 从 env 文件加载环境变量
- c++11 - std::shared_ptr
构造函数问题 - apache-kafka - 处理 Kafka 的恰好一次处理边缘情况
- ember.js - 如何修复 EmberJS 集成测试的“服务注入”?
- c - (const char const * pointer = "Hello") 驻留在程序的哪个部分?
- flutter - 如何使用颤动一次一个地从谷歌云火库集合中查询文档
- asp.net-core - Blazor recaptcha 验证属性 IHttpContextAccessor 始终为空
- sql - 将 SQL 查询转换为 LINQ 查询/Lambda 表达式