如何在libcurl中通过POST上传文件?

时间:2009-10-02 15:43:16

标签: c++ http libcurl

如何在libcurl中通过POST上传文件?(c ++)

2 个答案:

答案 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清除会话。如果您想要持久连接,则不要立即清理,而是使用相同的简单句柄继续运行并执行其他传输。

所以看起来你需要调用以下内容:

  1. curl_easy_init(初始化卷曲会话)
  2. curl_easy_setopt(设置会话选项)
  3. curl_easy_perform(执行卷曲)
  4. curl_easy_cleanup(删除会话)
  5. 鉴于这些是C API,您在C ++源文件中调用它们应该没有问题。