繁体   English   中英

Http协议,Content-Length,获取页面内容Python

[英]Http protocol, Content-Length, get page content Python

我正在尝试编写自己的Python 3 http库以了解有关套接字和Http协议的更多信息。 我的问题是,如果使用我的套接字执行recv(bytesToRead),如何只获取标题然后使用Content-Length信息,继续收到页面内容? 这不是Content-Length标题的目的吗? 提前致谢

在过去要做到这一点,我会将一部分套接字数据读入内存,然后从该缓冲区读取,直到遇到“\\ r \\ n \\ r \\ n”序列(你可以使用状态机来执行此操作)或者只是使用string.find()函数。一旦你到达那个序列,你知道所有的头文件已被读取,你可以对头文件进行一些解析,然后读取整个内容长度。你可能需要准备阅读不包含内容长度标头的响应,因为并非所有响应都包含它。

如果在看到该序列之前用完了缓冲区,只需将更多数据从套接字读入缓冲区并继续处理。

如果您想查看它,我可以发布一个C#示例。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM