c - 使用recv读取未知数据大小

标签 c sockets

我已经实现了一个(POSIX套接字)客户端,它将HTTP GET请求发送到指定的网站并将http响应解析为源代码。

这些指定的网站是动态长度的,每个网站的大小都不同。 我怎么知道应该分配多少字节才能接收所有数据?

我考虑 block 接收——每次接收512 block 数据,解析然后将它们保存到文件中。

你们有有效的解决方案吗?

最佳答案

HTTP 包含长度字段!

读取一些合理数量的字节,直到找到 Content-Lenght: <len>然后分配一个缓冲区来保存确切的数量。

关于c - 使用recv读取未知数据大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20351425/

相关文章:

c - 使用指针交换两个整数

你能发现这段代码中的逻辑错误吗?计数

c - 写入二维数组时出现段错误

php - 一些HTTP响应的第一行变成 “undefined undefined undefined”

iphone - Rails 和 iphone native 应用程序之间的套接字连接

c# - 带有 BeginReceive\EndReceive 的异步套接字意外数据包

c - 用C读取txt文件中的特定行

c - 堆相关问题

c# - 套接字连接到局域网计算机失败?

c#屏幕共享效率