CInternetSession session(NULL, 0);
CHttpFile      * phttp = NULL; CString m_WebSrc;
CString tempstr; phttp = (CHttpFile*) session.OpenURL("http://www.163.com"); if (phttp != NULL)
  TRACE("URL open suceed\r\n\r\n"); while(phttp->ReadString(tempstr))
{   m_WebSrc += "\r\n";
  m_WebSrc += tempstr;
}

TRACE("%s", (LPCTSTR)m_WebSrc); phttp->Close; 
session.Close;显示网页源代码只有一小部分. 这是为什么呀, 有没有哪位大侠遇到过这样的问题 

解决方案 »

  1.   

    应该没有问题呀,可以下载全呀?下载下来的只能是源文件内容。不是服务器端的包括代码的网页。
    应该是下载的内容太长了,用TRACE显示不全。你可以保存成文本看一下。
    这里给你一个下载网页的函数吧。//****************************************************************************************//
    //函数 GetWebContent
    //主要功能: Get方式下载网页
    //参数列表: 
    //返回值: 
    //备注: 
    //****************************************************************************************//
    CString GetWebContent(CString strURL)
    {
    CString strSentence;
    CString Filecontent;
    CInternetSession sess;//Create session
    CHttpFile* fileGet;
    CException* e = NULL;
    TRY
    {
    fileGet=(CHttpFile*)sess.OpenURL(strURL);//Open file
    }
    CATCH_ALL(e)
    {
    fileGet = 0;
    }
    END_CATCH_ALL if(fileGet)
    {
    DWORD dwStatus;
    DWORD dwBuffLen = sizeof(dwStatus);
    BOOL bSuccess = fileGet->QueryInfo(
    HTTP_QUERY_STATUS_CODE|HTTP_QUERY_FLAG_NUMBER,
    &dwStatus, &dwBuffLen); if( bSuccess && dwStatus>=  200&& dwStatus<300 ) 
    {
    while(fileGet->ReadString(strSentence))
    Filecontent += strSentence;
    }// if bSuccess.
    fileGet->Close();
    delete fileGet;
    }
    else
    {
    TRACE0("对不起,连接超时,无法打开站点!");
    Filecontent = "";
    }
    sess.Close();
    return Filecontent;
    }
      

  2.   

    谢谢呀. 用逐过程调试看了一下, 发现tempstr是在一直变的. 
    但就是m_WebSrc内容不变, 就是说tempstr没有加入到m_WebSrc中, 不知道是为什么呀, 谢谢
      

  3.   

    CString好象是有字数上限的,自己开个char*的buf