【问题标题】:Get cUrl to preemptively send Authorization header for DIGEST authentication in PHP获取 cUrl 以抢先发送授权标头以在 PHP 中进行 DIGEST 身份验证
【发布时间】:2013-01-16 14:22:14
【问题描述】:

我们有一个 PHP 页面(实际上是一个 WordPress 插件),它通过 DIGEST 身份验证调用 REST API。 curl 句柄是根据每个请求创建的,给定授权凭据并成功进行身份验证。

问题:

在后台,Curl 发送了两个请求。第一个以 401 和挑战失败,第二个包含 Authorization 标头并成功 (200)

在随后的 API 调用中,cUrl 继续发送两个请求。这似乎效率低下,导致操作持续时间增加了 2 倍的网络延迟。

我们如何使 cURL “先发制人地验证” (example) 未来的请求?

Curl Multi 有这个功能吗?

【问题讨论】:

    标签: php libcurl curl-multi http-digest


    【解决方案1】:

    您必须重复使用相同的 curl 句柄:有关详细信息,请参阅 this similar question

    就多接口而言,您还需要显式重用每个句柄以利用摘要访问身份验证请求计数器,即考虑到 C API:

    1. 使用curl_multi_remove_handle从多手柄上移除您的手柄
    2. curl_easy_reset重置它
    3. 为下次通话设置选项
    4. 使用curl_multi_add_handle将其重新添加到多手柄中

    【讨论】:

      猜你喜欢
      • 2012-10-22
      • 1970-01-01
      • 2021-03-19
      • 1970-01-01
      • 1970-01-01
      • 2017-04-25
      • 2023-03-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多