libcurl - CURLOPT_MIMEPOST 与 CURLOPT_POSTFIELDS

libcurl - CURLOPT_MIMEPOST vs CURLOPT_POSTFIELDS

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

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

CURLOPT_POSTFIELDS

准确发送您在 HTTP 请求的 body 中指定的字节。默认 Content-type 为 application/x-www-form-urlencoded。 libcurl 不会以任何方式为您添加或编码数据。

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

CURLOPT_MIMEPOST

使 libcurl 发送“多部分表单”。这是一种使用允许发送方向服务器发送多个“部分”数据的格式的数据流,每个部分都被适当地分离和识别。每个部分都有名称、内容和自己的一组 headers。当 HTTP 客户端“上传文件”时,几乎总是使用多部分表单来完成。

Multipart formpost 是请求中的结构化数据 body,此选项可帮助您生成和发送该格式。应用程序 可以 也可以自己生成该格式,如果他们愿意的话,并通过 CURLOPT_POSTFIELDS 甚至使用回调 CURLOPT_READFUNCTION.

提供它

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

另请参阅

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