我已经实现了一个(POSIX套接字)客户端,它将HTTP GET请求发送到指定的网站并将http响应解析为源代码。
这些指定的网站是动态长度的,每个网站的大小都不同。 我怎么知道应该分配多少字节才能接收所有数据?
我考虑 block 接收——每次接收512 block 数据,解析然后将它们保存到文件中。
你们有有效的解决方案吗?
最佳答案
HTTP 包含长度字段!
读取一些合理数量的字节,直到找到 Content-Lenght: <len>
然后分配一个缓冲区来保存确切的数量。
关于c - 使用recv读取未知数据大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20351425/