c++ - 从 libcurl 为 HTTP POST 计算 Content-MD5

标签 c++ curl md5 libcurl

我正在使用 libcurl 构建 HTTP POST,使用 struct curl_httppost 和 curl_formadd 等。

我需要能够计算将要发布的全部内容的 MD5 哈希值,包括边界标记等。然后需要将该 MD5 作为 HTTP header “Content-MD5”上传。

有没有办法从 curl API 获取原始帖子内容,以便我可以在发布之前计算其 MD5?或者,curl 中是否已经存在一种机制来简单地计算 MD5 并在内部设置 header ?

struct curl_httppost* list = NULL;
struct curl_httppost* last = NULL;

curl_formadd (&list, &last,
    CURLFORM_COPYNAME, pFieldName,
    CURLFORM_BUFFER, pFieldFilename,
    CURLFORM_BUFFERPTR, pFileContents,
    CURLFORM_BUFFERLENGTH, lenFileContents,
    CURLFORM_END);

curl_easy_setopt(session, CURLOPT_URL, url); 
curl_easy_setopt(session, CURLOPT_HTTPPOST, list);

谢谢。

最佳答案

显然答案是通过 curl_formget 检索内容。从那里,我可以计算 MD5 哈希值并设置 header 。

http://curl.haxx.se/libcurl/c/curl_formget.html

关于c++ - 从 libcurl 为 HTTP POST 计算 Content-MD5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4589105/

相关文章:

bash - 如何在 shell 脚本中进行异步函数调用

javascript - 在 JavaScript 中获取 MD5 哈希值并将其转换为 Base 64

c++ - 如何在 C++ 中接收可变长度数组的函数中传递可变长度数组?

c++ - 从任意映射中获取对 mapped_type 的指针或引用

C++ 获取 1.#INF

c++ - std::initializer_list 构造函数和 "braced initialization"问题

android - 如何使用 curl 命令获取 google oAuth2.0 访问 token ?

python - python 的 httplib 的替代品?

java - Apache DigestUtils 似乎计算 MD5 部分错误

ios - 如何使用 SWIFT 4 创建 HMAC MD5 十六进制签名?