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

发布于 2024-10-07 04:18:20 字数 597 浏览 6 评论 0原文

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

当我设置要使用 CURLOPT_POSTFIELDSCURLOPT_POSTFIELDSIZE 进行适当的 curlopt_easy_setopt 调用来发送的 XML 缓冲区,然后调用 curl_easy_perform

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

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

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

我如何仍将 curl_easy_send\ curl_easy_recvCURLOPT_CONNECT_ONLY 一起使用,但让 libcurl 执行摘要协商?

提前致谢。

I'm trying to write a simple program which uses libcurl to perform HTTP POST using digest authentication.

It works fine when I'm setting the XML buffer that I want to send using appropriate curlopt_easy_setopt calls with CURLOPT_POSTFIELDS and CURLOPT_POSTFIELDSIZE and then calling curl_easy_perform.

However, when I try to connect after setting CURLOPT_CONNECT_ONLY to 1, and then using curl_easy_send - the return code (for the send call) is CURLE_UNSUPPORTED_PROTOCOL.

(Of course, the username, password and digest authentication scheme are set successfully before).

Using a sniffer, it is obvious to see that the digest negotiation is not performed at all.

How can I still use curl_easy_send\ curl_easy_recv with CURLOPT_CONNECT_ONLY, but let libcurl to perform the digest negotiation?

Thanks in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

带刺的爱情 2024-10-14 04:18:20

好吧,这毕竟是不可能的。

curl_easy_sendcurl_easy_recv 用于实现自定义协议。

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

希望它能帮助某人。

Well, this is impossible after all.

curl_easy_send and curl_easy_recv are intended for implementing custom protocols.

Thus, what I think is happening is that the normal HTTP protocol handling that libcurl would be doing for curl_easy_perform is not being done at all, so there is no digest\ NTLM\ GSS negotiation available.

Hope that it will help someone.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文