`

新建ftp站点,使用代码从ftp服务器下载文件(mfc)

阅读更多

使用个人电脑新建ftp站点:

 

打开控制面板》程序》启用或关闭windows功能》勾选Internet信息服务所有单选框》确定》找到IIS管理器(直接搜索程序位置吧)并打开》在左侧菜单右击“网站”》新建ftp站点》选择物理路径》输入IP(选择下拉框里的IP,这是本机ipv4地址)》无需ssl(你喜欢勾选也可以的,随你吧)》基本(选择匿名的话访问时就不需要密码),所有用户(部分选项根据个人需求选择)》完成

打开浏览器》输入ftp://127.0.0.1/》回车,就可以访问ftp了,(如果要他人电脑访问,那就要连入同一个局域网并且关掉本机防火墙以及360等等,并且在浏览器地址栏输入ftp站点地址即ipv4)如果不是匿名的要输入密码用户名,那么如何新建ftp用户并设置密码呢?

 

新建ftp用户并设置密码:

右击计算机》管理》本地用户和组》新建用户》这些用户就可以访问ftp站点啦!

 

现在给出mfc代码使用FTP连接类实现从站点下载文件:

 

 

#include "afxinet.h"
//CInternetSession 和 CFtpConnection 类包含在afxinet.h头文件中

void CftpDlg::OnBnClickedButtonStart()
{
     /*FTPConnect
     CSocket *m_clientsocket = new CSocket();
     //构造连接套接字对象
      m_clientsocket->Creat(21,SOCK_STREAM,FD-READ|FD_WRITE,NULL);
     //创建流式套接字
     if(!m_clientsocket)*/

     //第一步:建立ftp连接
      // CInternetSession* m_pInetSession;
     //CFtpConnection*   m_pFtpConnection;
     m_InetSession = new CInternetSession( AfxGetAppName(), 1,
         PRE_CONFIG_INTERNET_ACCESS);
     try{
              m_pFtpConnection = m_pInetSession->
              // GetFtpConnection(addr, username, password, port);
              GetFtpConnection((LPCTSTR)"10.96.23.29", (LPCTSTR)"helloworld", (LPCTSTR)"mima", 21);
              //10.96.23.29  helloworld   mima    21
              // addr       ftp服务器的地址  LPCTSTR ,LPCTSTR是指向常量字符串的长指针
                // username   登陆用户名       LPCTSTR 
              // password   密码            LPCTSTR
              // port       端口            UINT
       }
              //mfc 登录FTP站点  文件名 目录名或卷标语法不正确  ,估计是编码的问题,
                //改变项目字符集改为多字节字符集,然后运行没有弹出错误了。
                //若登陆不成功则抛出异常,以下是针对异常的处理
      catch(CInternetException *pEx){
            TCHAR szError[1024] = {0};
            if(pEx->GetErrorMessage(szError,1024))
                 AfxMessageBox(szError);
            else
                 AfxMessageBox(_T("There was an exception"));
            pEx->Delete();
            m_pFtpConnection = NULL;
            return;
       }
            //下载文件,我把c:/修改为c:/test.txt,就提示下载成功了。原来会运行错误debug insertion failed,编译正确
             //貌似第一个路径必须只是一个文件名,不是路径,
	    bool success=m_pFtpConnection->GetFile((LPCTSTR)("test.txt"), (LPCTSTR)("c:/test.txt"),FALSE,
   FILE_ATTRIBUTE_NORMAL,
   FTP_TRANSFER_TYPE_BINARY | INTERNET_FLAG_RELOAD | INTERNET_FLAG_NO_CACHE_WRITE
   );
   /*GetFile(
   remoteArray->GetAt(x),
   localArray->GetAt(x),
   FALSE,
   FILE_ATTRIBUTE_NORMAL,
   FTP_TRANSFER_TYPE_BINARY | INTERNET_FLAG_RELOAD | INTERNET_FLAG_NO_CACHE_WRITE
   );*/
   //PutFile(_T("c:/test.txt"), _T("test.txt")))

   if(!success)
         AfxMessageBox(GetLastError());
   else
         AfxMessageBox(_T("下载成功"));
//这个函数封装了服务器端文件上传、写入和关闭等操作,
//所以本程序并不支持断线续传。如果想使程序支持断线续传,则需要是用CFtpConnection类中的OpenFile函数打开文件,然后使用CInternetFile类的函数来对文件进行读写控制。
} 

 

 

分享到:
评论

相关推荐

    MFC实现FTP上传下载文件的客户端和服务器

    3. **文件传输**:FTP客户端可以通过`STOR`命令上传文件到服务器,使用`RETR`命令下载文件。MFC的`CFtpFileFind`类可以帮助查找服务器上的文件,而`CInternetFile`则用于读写文件。 4. **错误处理**:在FTP操作中,...

    FTP基于MFC对话框实现与服务器文件传输

    FTP(File Transfer Protocol)是一种广泛使用的网络协议,用于在互联网上进行文件的上传和下载。在Windows操作系统中,可以通过Microsoft Foundation Class(MFC)库来实现一个基于对话框的应用程序,方便用户交互...

    MFC编的FTP服务器

    FTP(File Transfer Protocol)是一种广泛使用的互联网协议,用于在客户端和服务器之间进行文件传输。MFC(Microsoft Foundation Classes)是微软提供的一套C++库,它封装了Windows API,简化了Windows应用程序的...

    一个ftp上传下载类(MFC)

    4. **文件下载**:与上传类似,类应能从FTP服务器下载文件至本地。这通常通过`RETR`命令实现,同时需要接收服务器返回的数据并写入本地文件。 5. **线程控制**:为了不影响用户界面,FTP操作通常在后台线程中执行。...

    FTP服务器MFC源码

    4. **文件操作**:FTP服务器的主要任务是处理文件的上传(STOR)和下载(RETR)。MFC源码会展示如何读取和写入本地文件系统,以及如何通过网络传输数据。 5. **目录浏览**:FTP服务器应支持客户端列出目录内容...

    Ftp 文件上传下载 源代码

    FTP(File Transfer Protocol)文件上传下载源代码是一个基于MFC(Microsoft Foundation Classes)库实现的程序,用于模拟如FlashFXP这样的专业FTP客户端工具。这个源代码提供了对FTP协议的基本支持,包括连接到FTP...

    java+jsp代码实现从FTP服务器上传下载文件

    根据给定的信息,本文将详细解释如何利用Java与JSP技术来实现从FTP服务器上传下载文件的功能,并且会对部分给出的代码片段进行解读。 ### Java + JSP 实现 FTP 文件上传下载 #### 一、JSP 页面代码实现 在JSP页面...

    MFC 实现FTP客户端的上传下载(断点续传)

    本项目“MFC实现FTP客户端的上传下载(断点续传)”是基于MFC技术实现的,能够实现在FTP服务器上进行文件的上传和下载,并且具备断点续传功能,这对于大文件传输来说尤其重要,因为如果在传输过程中中断,可以从上次...

    使用QT实现文件上传和下载----ftp服务器

    在本文中,我们将深入探讨如何使用QT库来实现文件的上传和下载功能,特别是与FTP服务器的交互。QT是一个跨平台的应用程序开发框架,广泛应用于C++编程,它提供了丰富的功能,包括网络通信,使得我们可以方便地构建...

    java 从ftp服务器下载文件

    ### Java从FTP服务器下载文件知识点解析 在当前数字化转型的大背景下,文件传输协议(File Transfer Protocol,简称FTP)作为...以上就是关于Java从FTP服务器下载文件的相关知识点及代码解析,希望对你有所帮助。

    FTP下载文件的示例程序

    在这个基于MFC(Microsoft Foundation Classes)的示例程序中,开发者利用VS2015(Visual Studio 2015)作为集成开发环境,创建了一个能够实现FTP文件下载功能的应用程序。 MFC是微软提供的C++类库,它封装了...

    FTP服务器单文件绿色版FTPServer

    FTP服务器是一种用于在互联网上进行文件传输的服务,它允许用户从一台计算机(客户端)向另一台计算机(服务器)上传或下载文件。FTP(File Transfer Protocol)是这项服务的基础协议,它是一个标准网络协议,用于在...

    VS2017+MFC+FTP下载文件带同步进度条

    在本文中,我们将深入探讨如何使用Visual Studio 2017和MFC(Microsoft Foundation Classes)框架实现一个FTP(File Transfer Protocol)客户端,该客户端能够从FTP服务器下载文件,并且在下载过程中同步显示进度条...

    MFC ftp上传下载

    CFTPFileRead用于从FTP服务器读取文件,CFile则用于在本地创建或打开文件。在下载过程中,先创建CFTPFileRead对象,打开远程文件,再创建CFile对象,指向本地保存文件的位置。通过CFTPFileRead的Read方法读取数据,...

    MFC下通过FTP上传下载文件

    在本文中,我们将深入探讨如何在MFC(Microsoft Foundation Class)环境下通过FTP(File Transfer Protocol)实现文件的上传和下载。MFC是微软提供的一种C++类库,它为Windows应用程序开发提供了丰富的接口和功能。...

    c语言ftp服务器源代码

    本压缩包包含的源代码是用C语言实现的FTP服务器程序,提供了基本的文件上传、下载等功能。 `ftpcmd.c`:这个文件很可能是FTP命令处理模块,它负责解析来自客户端的FTP命令,如`USER`(登录)、`PASS`(密码)、`...

    VB代码利用FTP实现文件上传于下载代码和总结

    以下代码展示了如何从FTP服务器下载文件到本地: ```vb oFtp.Document.all("Download").Value = remoteFilePath ' 设置远程文件路径 oFtp.Document.parentWindow.execScript "downloadFile()" ' 触发下载 ``` 5. ...

    MFC下通过FTP上传文件

    在本文中,我们将深入探讨如何在Microsoft Foundation Classes (MFC)环境下通过FTP(File Transfer Protocol)实现文件上传功能。Visual Studio作为一个强大的C++开发环境,提供了MFC库,使得创建带有图形用户界面...

    FTP服务器的代码

    FTP服务器是运行FTP协议的软件,允许用户从远程位置上传和下载文件。FTP服务器的核心功能包括用户认证、目录浏览、文件传输和权限管理。在描述中提到的"完整的代码"可能包含了处理这些功能的模块。 1. **用户认证**...

    FTP客户端与服务器的MFC实现

    总的来说,使用MFC实现FTP客户端与服务器涉及到网络编程、协议解析、文件操作、错误处理等多个方面。虽然MFC提供了一些便利的类和函数,但实际实现过程仍需要对FTP协议有深入理解,并具备良好的编程技巧和问题解决...

Global site tag (gtag.js) - Google Analytics