Locust: не удается отправить POST Http-запрос с сертификатом OpenSSL

#python #openssl #locust

#python #openssl #locust

Вопрос:

Я получаю ошибку HTTP 403 при отправке HTTP POST с SSL-сертификатом. Я попытался включить отладку на локальном сервере, и похоже, что locust не отправляет сертификаты с запросом, что приводит к ошибке 403. Я попробовал python request lib, и он работает нормально. Кроме того, как включить locust в подробном режиме, чтобы узнать, действительно ли он прикрепляет сертификат к запросу?

Ребята, вы знаете, как отладить эту проблему? Тот же запрос отлично работает с Postman.

 from locust import task, tag, between
from locust.contrib.fasthttp import FastHttpUser


class ApiClient(FastHttpUser):
  wait_time = between(0, 100)

  def on_start(self):
    self.client.verify = "~/client.crt"
    self.client.cert = ('~/client.crt', '~client.key')
  
  @task
  def get_profile(self):
    print(self.client.cert)
    resp = self.client.post("/android/callback", {
            "pcc" "123"})
    print("Response status code:", resp.status_code)
    print("Response text:", resp.text)
 

Комментарии:

1. Обычный HttpUser Locust основан на запросах Python. Вы пробовали это? Возможно, что-то не так / отличается от FastHttpUser.

Ответ №1:

Я предлагаю использовать HttpUser, основанный на requests framework, и использовать инструкцию из официальной документации по запросу.

https://2.python-requests.org/en/latest/user/advanced/#ssl-cert-verification