如何在libcurl中通过POST上传文件?(c ++)
答案 0 :(得分:4)
您是指RFC 1867(即,当用户提交包含type =“file”的输入字段的HTML表单时,浏览器会发送什么内容)?
如果是这种情况,您可能会对http://curl.haxx.se/libcurl/c/postit2.html
感兴趣答案 1 :(得分:-1)
来自文档here:
当使用libcurl的“简单”界面时,您可以初始化会话并获得一个句柄(通常称为“简单句柄”),您可以将其用作您使用的简单界面函数的输入。使用
curl_easy_init
来获取句柄。您继续在即将进行的转移中设置所需的所有选项,其中最重要的是URL本身(如果没有指定的URL,您无法转移任何内容,因为您可能已经想到了自己)。您可能还想设置一些回调,当数据可用时将从库中调用。
curl_easy_setopt
用于所有这些。完成所有设置后,您告诉libcurl使用
curl_easy_perform
执行传输。然后它将执行整个操作,并且在完成之前不会返回(成功与否)。转移完成后,您可以设置新选项并进行其他转移,或者如果已完成,请通过调用
curl_easy_cleanup
清除会话。如果您想要持久连接,则不要立即清理,而是使用相同的简单句柄继续运行并执行其他传输。
所以看起来你需要调用以下内容:
curl_easy_init
(初始化卷曲会话)curl_easy_setopt
(设置会话选项)curl_easy_perform
(执行卷曲)curl_easy_cleanup
(删除会话)鉴于这些是C API,您在C ++源文件中调用它们应该没有问题。