也就是如何通过VC6封装的类,在客户端打开指定的WEB服务器,并从WEB服务器上打开指定的文件

解决方案 »

  1.   

    你的意思是想通过一个客户端程序能够得到web服务器上的文件目录,然后列出各个文件及子文件夹,再根据用户的选择下载指定的文件?
    如果是这样的话,服务器上没有自己的服务程序或者Web服务器本身不提供遍历服务器路径的接口的话,光通过一个客户端是完成不了的。否则的话web服务器根本就没有安全性可言了。
      

  2.   

    以前做的一个读取google的翻译页面,并返回结果
    CString strHeaders =_T("Content-Type:   application/x-www-form-urlencoded\r\n");
            CString strFormData; 
            strFormData=_T("hl=zh-CN&ie=UTF-8&text=i+am+a+boy&sl=en&tl=zh-CN");
            
            CInternetSession session;
            CHttpConnection* pConnection =session.GetHttpConnection(_T("translate.google.com"),(INTERNET_PORT)80);
            CHttpFile* pFile =pConnection->OpenRequest(CHttpConnection::HTTP_VERB_POST,_T("/translate_t?langpair=en|zh-CN"));
            BOOL result = pFile->SendRequest(strHeaders,(LPVOID)(LPCTSTR)strFormData, strFormData.GetLength());
            CString str;
    TCHAR *szbuffer = new TCHAR[0x1000];
            int nlen = 0;
    while ((nlen = pFile->Read(szbuffer,0xfff)))        //读取返回的内容,页面的html代码
    {
    szbuffer[nlen] = '\0';
    str += szbuffer;
    }
    FILE* fp;
    fopen_s(&fp, "1.htm", "wb");
    fwrite(str, 1, str.GetLength()*sizeof(TCHAR), fp);
    fflush(fp);
    fclose(fp);
            

    pFile->Close(); 
            pConnection->Close();
            delete pFile;
            delete pConnection;
            session.Close(); int iStart = 132 + str.Find("</textarea><script>");
    int iEnd = str.Find("</div>", iStart);
    str = str.Mid(iStart, iEnd - iStart); 
    delete[] szbuffer;
            MessageBox(str);
      

  3.   

    URLDownloadToFile就可以直接把URL指示的文件下载到本地文件中
      

  4.   

    将Web服务器的数据下载到本地满足要求吗?http协议给客户端的权限很小的,无法操作服务器执行打开某项操作。
      

  5.   


    web服务器都有一个URL_MAP 例程,就是将URL翻译成本地资源路径(包括文件)
    所以访问web server上的文件系统,重要的是web server能够将URL成功地映射到本地文件如果没有cgi辅助,web server只能访问其授权的(web共享)文件资源
      

  6.   

    URLDownloadToFile就可以直接把URL指示的文件下载到本地文件中