1.构造请求消息体并发送给服务端
搜集端与服务端建立连接后,前者按照HTTP的要求构造消息体发送给服务端。这段实现代码包含在函数 int CHttp::Fetch(string strUrl,char ** fileBuf,char **fileHeadBuf,char **location,int *nPSock)中。
HttpFetch 函数中部分代码参考了 http://fetch.sourceforge.net 中的 int http_fetch(const char *url_tmp,char **fileBuf)函数,但是它不能够返回请求URL的网页头信息,不能确定网页是否已经重定向,所以有针对性的做了改动。另外,由于该函数是用C写成的,为了保持原代码的完整,对于URL的解析需要单独做一次,而不是采用前面已经给出的URL类来实现(URL 类在TSE的其他部分会经常用到)。
2.获取网页头信息和体信息
四、网页信息存储的天网格式
顺序保存网页信息,没有索引文件。
存储格式应当设计为适合长期保存并易于处理,可以作为终端产品提供给用户使用。考虑到终端产品使用的便利性,要求原始网页库的存储格式具备简单性的特点。
存储介质是有寿命的,要考虑当存储介质损坏时,数据的可恢复性。例如,磁盘的某个扇区损坏,导致部分数据不能读出,如果剩下的数据仍然可以使用,就能将损失降到最少。对海量数据来说,在存储和传输的过程中,由于硬件和软件问题导致数据错误是不可以避免的。所以存储格式要具备隔离错误的特点。
1、天网存储格式定义
2、当前存储格式版本描述
3、数据的可恢复性分析
4、其他问题:文件打开模式\FTP传输的两种模式:文本(text)模式和二进制(binary)模式