C++ (cpp-netlib) http 侦听器 - 如何删除 headers

C++ (cpp-netlib) http listener - how to remove headers

我创建了一个接受 POST 文件请求的 HTTP 侦听器。我几乎完全遵循了这个模板: https://github.com/cpp-netlib/cpp-netlib/blob/main/libs/network/example/http/echo_async_server.cpp

我这样启动我的监听器:./build/http_listener 0.0.0.0 8000

然后 post 使用 curl 将文件发送给侦听器:curl --form "fileupload=@file1.txt" -X POST http://127.0.0.1:8000/

我注意到用文件文本填充的变量 body__ 也用 header 数据填充。我不想这样。如何在没有任何 header 数据的情况下填充变量 body__

这是它的样子:

body__ 不会填充 header 数据。您看到的是您使用 --form <name=content> 提交的多部分数据。如果要提交原始文件数据,请使用另一个 curl 命令:

curl --data-binary "@file1.txt"  -H "Content-Type: application/octet-stream" http://127.0.0.1:8000/

-X POST 如果与 --data-binary--data--form.

一起使用,则可以省略

很遗憾,curl 不发送文件名。如果服务器端需要文件名,请指定 header Content-Disposition:

curl --data-binary "@file1.txt"  -H "Content-Type: application/octet-stream" -H "Content-Disposition: attachment; filename=file1.txt" http://127.0.0.1:8000/

KB

  1. --data-binary
  2. -F, --form