2010-12-09 159 views
0

我試圖編寫一個簡單的程序,它使用libcurl使用摘要式身份驗證執行HTTP POST。使用libcurl執行HTTP POST - 摘要式身份驗證,使用curl_easy_send curl_easy_recv

它,當我設置,我想用適當的curlopt_easy_setopt電話與CURLOPT_POSTFIELDSCURLOPT_POSTFIELDSIZE,然後調用curl_easy_perform發送XML緩衝區工作正常。

但是,當我嘗試連接將CURLOPT_CONNECT_ONLY設置爲1後,然後使用curl_easy_send - 返回碼(用於發送呼叫)爲CURLE_UNSUPPORTED_PROTOCOL

(當然,之前用戶名,密碼和摘要認證方案設置成功)。

使用嗅探器,很明顯看到摘要協商根本沒有執行。

如何仍然可以使用curl_easy_send \ curl_easy_recvCURLOPT_CONNECT_ONLY,但讓libcurl執行摘要協商?

在此先感謝。

回答

0

好吧,畢竟這是不可能的。

curl_easy_sendcurl_easy_recv用於實現自定義協議。

因此,我認爲正在發生的事情是,正常的HTTP協議處理libcurl將爲curl_easy_perform做的事情根本沒有完成,所以沒有可用的摘要\ NTLM \ GSS協商。

希望它能幫助別人。