我正在尝试编写一个简单的程序,它使用libcurl来使用摘要式身份验证来执行HTTP POST。
当我使用curlopt_easy_setopt
和CURLOPT_POSTFIELDS
的{{1}}调用设置我要发送的XML缓冲区然后调用CURLOPT_POSTFIELDSIZE
时,它正常工作。
但是,当我在将curl_easy_perform
设置为1,然后使用CURLOPT_CONNECT_ONLY
后尝试连接时,返回代码(用于发送呼叫)为curl_easy_send
。
(当然,用户名,密码和摘要认证方案之前已成功设置)。
使用嗅探器,很明显可以看到摘要协商根本没有执行。
我如何仍然将CURLE_UNSUPPORTED_PROTOCOL
\ {{{}}与curl_easy_send
一起使用,但让libcurl执行摘要协商?
提前致谢。
答案 0 :(得分:0)
嗯,毕竟这是不可能的。
curl_easy_send
和curl_easy_recv
旨在实现自定义协议。
因此,我认为正在发生的是libcurl将为curl_easy_perform
执行的正常HTTP协议处理根本没有完成,所以没有digest \ NTLM \ GSS协商可用。
希望它能帮助别人。