如何使用套接字分别发送HTTP标头和HTTP正文



我可以用这种方式发送标题和正文,

std::string complete_response = "HTTP/1.1 200 OKrnContent-Length: 13rnConnection: closernrnHello, world!";
socket.send(complete_response);

但当涉及到在不同阶段发送它们时,我就不知所措了。我尝试了以下操作,但似乎根本不起作用,

std::string header = "HTTP/1.1 200 OKrnContent-Length: 13rnConnection: closernrn";
std:string body =  "Hello, world!";
socket.send(header);
socket.send(body);

使用Wireshark,我看到浏览器得到了头部,然后浏览器关闭了连接,而不是等待正文。

这种行为在JS中非常常见。您可以使用下面的示例从Chrome的控制台或Node REPL接口进行调用。

async function postData(url = '') {
const response = await fetch(url, {
method: 'POST', 
headers: {
'Content-Length': 'application/json'

},
body: JSON.stringify( <BODY DATA>)}) 
});
return response.json(); 
}
postData('<URL>')
.then(res => {
console.log(res); 
});

相关内容

  • 没有找到相关文章

最新更新