1

我正在使用 curl 向我的服务器发送POST HTTP消息。在服务器端,我正在打开一个套接字并使用以下代码读取数据

recv(socket_Fd, (void *)ucBuffer, (size_t)((sizeof(ucBuffer) - 1)), NULL);

我能够获得POST消息的标题,但在消息正文中我只得到一行,其余的都丢失了。我在服务器端收到的数据。

 POST /info HTTP/1.1
 User-Agent: curl/7.22.0 (i686-pc-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1    zlib/1.2.3.4 libidn/1.23 librtmp/2.3
 Host: 192.168.0.57:10000
 Accept: */*
 Content-Length: 356
 Content-Type: application/x-www-form-urlencoded

 Bhupesh Bhargava

在消息头中,它显示正确的内容长度,但缺少消息正文。知道我在哪里做错了。我正在使用的 curl 命令

curl --data-binary @/home/bhupesh/data_save2 http://192.168.0.57:10000/info
4

1 回答 1

0

curl 命令似乎没问题,如果我们按照此处的文档进行操作,则以下内容应该是正确的。

数据以与 --data-ascii 类似的方式发布,除了保留换行符并且从不进行转换。

因此,这给我们留下了这样一个事实,即您的服务器实现中应该存在问题。不太确定您是如何在服务器上获取接收到的内容的,但是您应该小心自己对接收到的内容进行排序。是一个示例,您可以如何做到这一点。

于 2013-04-02T17:16:29.950 回答