2013-01-16 58 views
0

我们有一个PHP页面(实际上是一个WordPress插件),它使用DIGEST身份验证来调用REST API。 curl句柄是在每个请求的基础上创建的,具有授权凭证并成功进行身份验证。获得cUrl抢先发送用于DIGEST身份验证的授权标头PHP

问题:

在引擎盖下,Curl发送两个请求。第一个失败,带有401和挑战,第二个包含授权头并成功(200)

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

我们如何导致cURL“预先验证”(example)未来的请求?

Curl Multi是否具有此功能?

回答

1

您必须重新使用相同的卷曲手柄:有关更多详细信息,请参阅this similar question

至于多接口而言,你还需要明确地重复使用的每个处理,以充分利用HTTP摘要认证请求计数器,即与C API记:

  1. 从多手柄移除手柄与curl_multi_remove_handle
  2. curl_easy_reset
  3. 设置为下一个看涨期权重置
  4. curl_multi_add_handle
  5. 重新添加到多手柄