已知一个PHP网页的地址,如何将其页面显示的内容读出来?并不是要显示出来,而是将读出来的数据放到数组或者边量里
大家给段代码吧……谢谢大家

解决方案 »

  1.   

    读取PHP和读取html的方法是一样的.
    一个完事的函数:
    BOOL CDownLoadDlg::GetFromWeb(LPSTR pURL, LPSTR SaveAsFilePath)
    {
    CInternetSession session; //会话期对象)CHttpConnection* pServer = NULL; // 指向服务器地址(URL)CHttpFile * pHttpFile = NULL;//HTTP文件指针CString strServerName; //服务器名CString strObject; //查询对象名(http文件)INTERNET_PORT nPort; //端口DWORD dwServiceType; //服务类型DWORD dwHttpRequestFlags = //请求标志//INTERNET_FLAG_EXISTING_CONNECT;INTERNET_FLAG_NO_AUTO_REDIRECT;const TCHAR szHeaders[]=_T("Accept: text/*\r\nUser-Agent:HttpClient\r\n");BOOL OK=AfxParseURL( //词法分析pURL, //被分析URL串dwServiceType, //服务类型,ftp,http等strServerName, //服务器名strObject, //URL中被查询对象nPort ); //URL指定的端口,可能为空OK=OK && //本例只考虑http协议(dwServiceType ==INTERNET_SERVICE_HTTP);if (!OK) { AfxMessageBox("URL出错"); //报错return false; }pServer = session.GetHttpConnection(strServerName, nPort); //获得服务器名pHttpFile = pServer-> OpenRequest( CHttpConnection::HTTP_VERB_GET,strObject, NULL, 1, NULL, NULL,dwHttpRequestFlags);//向服务器发送请求,建立http连接,//建立本机上的http文件指针pHttpFile->AddRequestHeaders(szHeaders);pHttpFile->SendRequest(); //发送请求CStdioFile f; //输出文件对象if( !f.Open( //打开输出文件SaveAsFilePath, CFile::modeCreate | CFile::modeWrite | CFile::typeBinary ) ) { MessageBox("Unable to open file"); return false;}//下面将检索结果保存到文件上TCHAR szBuf[1024]; //缓存
    int length=0;
    long a=pHttpFile->GetLength();
    while (length=pHttpFile->Read(szBuf, 1023))f.Write(szBuf,length);f.Close(); //善后工作pHttpFile ->Close();pServer ->Close();if (pHttpFile != NULL) delete pHttpFile;if (pServer != NULL) delete pServer;session.Close();return true;
    }
      

  2.   

    CString CDownInfoDlg::DownURL(CString strURL)
    {
    CInternetSession m_Session("DigitalTitan");
        CHttpFile* pFile=NULL;
    CException* e; TCHAR szTempPath[MAX_PATH],szTempFile[MAX_PATH];
        DWORD dwResult=::GetTempPath(MAX_PATH,szTempPath);
    CString strURLPath;
    GetTempFileName(szTempPath,_T("DigitalTitan_"),0,szTempFile);
    strURLPath=szTempFile;
        TRY
    {
    pFile=(CHttpFile*)m_Session.OpenURL(strURL);
    }
    CATCH_ALL(e)
    {
    pFile=NULL;
    AfxMessageBox("URL地址不合法",MB_ICONINFORMATION);
    return "";
    }
    END_CATCH_ALL if(pFile)
    {
    DWORD dwStatus;
    DWORD dwBufLen=sizeof(dwStatus);
    BOOL bSuccess=pFile->QueryInfo(HTTP_QUERY_STATUS_CODE|HTTP_QUERY_FLAG_NUMBER,&dwStatus,&dwBufLen);
    if(bSuccess&&dwStatus>=200&&dwStatus<300)
    {
    CStdioFile m_File;
    if(m_File.Open(strURLPath,CFile::modeWrite|CFile::modeCreate|CFile::typeBinary))
    {
    BYTE pBuf[1024];
    DWORD dwRead;
    do
    {
    dwRead=pFile->Read(pBuf,1024);
    m_File.Write(pBuf,dwRead);
    }
    while(dwRead>0);
    m_File.Close();
    }
    }
    pFile->Close();
    delete pFile;
    }
    else
    {
    m_Session.Close();
    }
    return strURLPath;
    }