Sockets 无法获取整个http消息
我正在使用curl向我的服务器发送POST-HTTP消息。在服务器端,我打开一个套接字并使用以下代码读取数据Sockets 无法获取整个http消息,sockets,http,curl,Sockets,Http,Curl,我正在使用curl向我的服务器发送POST-HTTP消息。在服务器端,我打开一个套接字并使用以下代码读取数据 recv(socket_Fd, (void *)ucBuffer, (size_t)((sizeof(ucBuffer) - 1)), NULL); 我可以得到帖子的标题,但是在邮件正文中我只得到一行,其余的都没有了。 我在服务器端接收的数据 POST /info HTTP/1.1 User-Agent: curl/7.22.0 (i686-pc-linux-gnu) libcur
recv(socket_Fd, (void *)ucBuffer, (size_t)((sizeof(ucBuffer) - 1)), NULL);
我可以得到帖子的标题,但是在邮件正文中我只得到一行,其余的都没有了。
我在服务器端接收的数据
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
curl命令似乎是正确的,如果我们继续,下面应该是正确的 数据的发布方式与--Data ascii类似,只是 换行符会被保留,转换也不会完成
因此,这就给我们留下了一个事实,即您的服务器实现中应该存在一个问题。不太确定您是如何在服务器上获取接收到的内容的,但是您应该小心自己对接收到的内容进行排序。这就是一个例子。到目前为止,我得到的唯一有效解决方案是
curl--data binary“$(cat/home/bhupesh/data_save2)”http://192.168.0.57:10000/info
但我还是不清楚