2013-01-16 91 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. 重新添加到多手柄