使用libll执行HTTP POST - 摘要身份验证,使用curl_easy_send \ curl_easy_recv

时间:2010-12-09 15:02:34

标签: c++ linux libcurl http-post digest-authentication

我正在尝试编写一个简单的程序,它使用libcurl来使用摘要式身份验证来执行HTTP POST。

当我使用curlopt_easy_setoptCURLOPT_POSTFIELDS的{​​{1}}调用设置我要发送的XML缓冲区然后调用CURLOPT_POSTFIELDSIZE时,它正常工作。

但是,当我在将curl_easy_perform设置为1,然后使用CURLOPT_CONNECT_ONLY后尝试连接时,返回代码(用于发送呼叫)为curl_easy_send

(当然,用户名,密码和摘要认证方案之前已成功设置)。

使用嗅探器,很明显可以看到摘要协商根本没有执行。

我如何仍然将CURLE_UNSUPPORTED_PROTOCOL \ {{{}}与curl_easy_send一起使用,但让libcurl执行摘要协商?

提前致谢。

1 个答案:

答案 0 :(得分:0)

嗯,毕竟这是不可能的。

curl_easy_sendcurl_easy_recv旨在实现自定义协议。

因此,我认为正在发生的是libcurl将为curl_easy_perform执行的正常HTTP协议处理根本没有完成,所以没有digest \ NTLM \ GSS协商可用。

希望它能帮助别人。