我正在使用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
答案 0 :(得分:0)
curl命令似乎没问题,如果我们选择the documentation here,则以下内容应为真。
数据的发布方式与--data-ascii类似,但不包括 保留换行符,永远不会进行转换。
因此,这让我们知道您的Server实施中应该存在问题。你不确定如何在服务器上获得收到的东西,但你应该小心自己对你收到的内容进行排序。 Here就是如何做到这一点的一个例子。