C语言 libcurl - CURLOPT_MIMEPOST vs CURLOPT_POSTFIELDS



请告诉我,选项CURLOPT_MIMEPOST和CURLOPT_POSTFIELDS之间的主要区别是什么?

CURLOPT_MIMEPOST可以做什么?而CURLOPT_POSTFIELDS不能做什么?

CURLOPT_POSTFIELDS

完全发送您在HTTP请求正文中指定的字节。默认内容类型为application/x-www-form-urlencoded。libcurl不会以任何方式为您添加或编码数据。

使用curl命令行工具,可以使用-d执行此操作。

CURLOPT_MIMEPOST

使libcurl发送一个";多部分formpost";。这是使用允许发送者发送多个"数据流"的格式的数据流;部件";数据到服务器,每个部分都被正确地分离和识别。每个部分都有一个名称、内容和自己的一组标题。当HTTP客户端";上传文件";,这几乎总是使用多部分formposts来完成的。

多部分formpost是请求主体中的结构化数据,此选项可帮助您生成和发送该格式。应用程序也可以自己生成该格式(如果他们喜欢的话(,并向其提供CURLOPT_POSTFIELDS,甚至使用回调CURLOPT_READFUNCTION

使用curl命令行工具,可以使用-F执行此操作。

另请参阅

https://everything.curl.dev/libcurl-http/upload

最新更新