利用WinInet实现网页代码截取

来源:互联网 发布:linux ffmpeg 编辑:程序博客网 时间:2024/06/11 21:12
 
具体代码(注意:要包含头文件include “afxinet.h”):
      CStringArray m_Info;
CInternetSession IS;
    CHttpFile *Hf=(CHttpFile*)IS.OpenURL("http://localhost/test");
    CString str;
    while (Hf->ReadString(str))
    {
     AfxMessageBox(str); //只是显示截取代码
        m_Info.Add(str);
    }
    Hf->Close;
delete Hf;                     
IS.Close;
   
解释:
本段代码用到了两个重要的类:CInternetSession和CHttpFile。
前者是用来打开一个网页URL对象(即IS.OpenURL("http://localhost/test");语句),返回的是一个CStdioFile对象,但CHttpFile是CstdioFile是它的父类,所以可以转换类型。
接着利用ReadString()读取获得的网页HTML代码,存在str中,由于ReadString()是每行读取,所以每次都只能读取一行HTML代码,所以可以用m_Info存储这些行,这样就得到了所有的代码。