Получите cUrl для упреждающей отправки заголовка авторизации для аутентификации DIGEST в PHP

У нас есть страница PHP (фактически плагин WordPress), которая вызывает REST API с аутентификацией DIGEST. Дескриптор curl создается для каждого запроса с учетом учетных данных авторизации и успешно аутентифицируется.

ПРОБЛЕМА:

Под капотом Curl отправляет два запроса. Первый терпит неудачу с 401 и вызовом, второй содержит заголовок авторизации и завершается успешно (200)

При последующих вызовах API cUrl продолжает отправлять два запроса. Это кажется неэффективным, поскольку к длительности операции добавляется двукратная сетевая задержка.

Как заставить cURL «упреждающе аутентифицироваться» (пример) Будущие запросы?

Есть ли у Curl Multi такая функция?


person Simon Gibbs    schedule 16.01.2013    source источник


Ответы (1)


Вы должны повторно использовать один и тот же дескриптор curl: см. http-packet/13760549#13760549">похожий вопрос для более подробной информации.

Что касается мультиинтерфейса, вам также необходимо явно повторно использовать каждый дескриптор для использования счетчика запросов Digest Access Authentication, то есть с учетом C API:

  1. удалите свой дескриптор из мульти дескриптора с помощью curl_multi_remove_handle
  2. сбросить его с помощью curl_easy_reset
  3. установить параметры для следующего звонка
  4. повторно добавьте его в мультидескриптор с помощью curl_multi_add_handle
person deltheil    schedule 16.01.2013