在VC中如何完整解析完一个html文件后变成一个文本文件,包括HTML中的JS脚本,VB脚本,控件所有内容等等.即是等于一个IE浏览器打开一个URL,而浏览器过程需要解析很多脚本,但我只需要得到IE运行最后的一个纯文本的文件就可以了.请高手指教,谢谢谢!!!!!!!!!!!!!!!!

解决方案 »

  1.   

    BOOL CBbsToolDlg::GetSourceHtml(CString theUrl, CString Filename)
    {
    CInternetSession session;
    CInternetFile* file = NULL;
    try
    {
    // 试着连接到指定URL
    file = (CInternetFile*) session.OpenURL(theUrl,1,INTERNET_FLAG_TRANSFER_ASCII | INTERNET_FLAG_RELOAD); //注意缓存问题
    }
    catch (CInternetException* m_pException)
    {
    // 如果有错误的话,置文件为空
    file = NULL; 
    m_pException->Delete();
    return FALSE;
    } // 用dataStore来保存读取的网页文件
    CStdioFile dataStore; if (file)
    {
    CString  somecode; //也可采用LPTSTR类型,将不会删除文本中的\n回车符 BOOL bIsOk = dataStore.Open(Filename,
    CFile::modeCreate 
    | CFile::modeWrite 
    | CFile::shareDenyWrite 
    | CFile::typeText);

    if (!bIsOk)
    return FALSE;

    // 读写网页文件,直到为空
    while (file->ReadString(somecode) != NULL) //如果采用LPTSTR类型,读取最大个数nMax置0,使它遇空字符时结束
    {
    dataStore.WriteString(somecode);
    dataStore.WriteString("\n");    //如果somecode采用LPTSTR类型,可不用此句
    }

    file->Close();
    delete file;
    }
    else
    {
    dataStore.WriteString(_T("到指定服务器的连接建立失败..."));
    return FALSE;
    } return TRUE;
    }
      

  2.   

    To pick30() :
       你好,这个函数是不行的,因为你这样只能得到HTML文件,不没有解析到HTML里面的JAVASCRIPT和VBscript的功能的