windows下FTP下载文件(c语言)
(无注释版)
#include <stdio.h>
#include <windows.h>
#include <wininet.h>
#include <process.h>
#pragma comment(lib, "WININET.LIB")
int main()
{
BOOL bSuccess;
HINTERNET hIntSession;
HINTERNET hFtpSession;
//HINTERNET hFind;
//char szBuffer[64];
//WIN32_FIND_DATA findData;
char szAppName[] = "mydll";
char szServer[] = "192.168.101.225";
char szUser[] = "qpid";
char szPwd[] = "qpid";
char szDirectory[] = "/home/qpid/mydll";
char szFile[] = "mylib.dll";
char szCurDir[MAX_PATH];
char szNewFile[] = "c:\\mylib.dll";
DWORD dwCurDir = MAX_PATH;
printf("try to open intSession...\n");
hIntSession = InternetOpen(szAppName, INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0);
if(hIntSession == NULL)
{
printf("can not open intSession!\n");
return -1;
}
printf("intSession is open!\n");
printf("try to open ftpSession...\n");
hFtpSession = InternetConnect(hIntSession, szServer, INTERNET_DEFAULT_FTP_PORT, szUser, szPwd, INTERNET_SERVICE_FTP, 0, 0);
if(hFtpSession == NULL)
{
InternetCloseHandle(hIntSession);
printf("can not open ftpSession!\n");
return -1;
}
printf("ftpSession is open!\n");
ZeroMemory(szCurDir, sizeof(szCurDir));
FtpGetCurrentDirectory(hFtpSession, szCurDir, &dwCurDir);
printf("current dir is %s .\n", szCurDir);
printf("try to set current directory...\n");
bSuccess = FtpSetCurrentDirectory(hFtpSession, szDirectory);
if(!bSuccess)
{
InternetCloseHandle(hFtpSession);
InternetCloseHandle(hIntSession);
printf("can not set directory!\n");
return -1;
}
printf("set directory ok!\n");
printf("try to get file...\n");
FtpGetFile(hFtpSession, szFile, szNewFile, TRUE, FILE_ATTRIBUTE_NORMAL, FTP_TRANSFER_TYPE_BINARY, 0);
//InternetCloseHandle(hFind);
InternetCloseHandle(hFtpSession);
InternetCloseHandle(hIntSession);
return 0;
}
分享到:
相关推荐
FTP下载文件命令操作支持windows和linux以及交叉编译环境,自动上传,配置文件 FTP下载文件命令操作支持windows和linux以及交叉编译环境,自动上传,配置文件 FTP下载文件命令操作支持windows和linux以及交叉编译...
在提供的压缩包文件"FTP上传文件代码0123456"中,包含了实现这些步骤的具体C代码。通过分析和理解这些代码,你可以进一步学习如何在实际项目中应用FTP上传功能。同时,不要忘记在编写代码时遵循良好的编程实践,如...
在本项目中,我们关注的是在Qt4平台上使用C语言实现FTP文件下载的功能。Qt4是一个跨平台的应用程序开发框架,支持多种操作系统,包括Windows XP。虽然这个实现可能在界面上不如Windows XP下的FTP客户端美观,但核心...
本项目提供的是一套完整的C++工程源代码,包含了FTP和SFTP的客户端功能,便于开发者在Windows环境下进行文件操作。以下是对该项目中涉及的知识点的详细解释: 1. FTP(File Transfer Protocol):FTP是一种应用层...
FTP的基本工作原理是客户端-服务器模型,用户通过FTP客户端连接到服务器,然后执行一系列操作如上传、下载文件,列出目录内容,甚至删除文件。在C语言中实现FTP,我们需要理解和使用以下关键知识点: 1. **套接字...
在Windows环境下,C语言可以通过Win32 API(应用程序接口)来与操作系统进行交互,实现各种功能。本文将深入探讨如何利用C语言结合Win32 API调用命令行命令,从而实现FTP(文件传输协议)的上传和下载。 FTP是...
在这个C++实现的FTP客户端项目中,开发者构建了一个简单的工具,让用户能够执行基本的FTP操作,如上传和下载文件。下面我们将详细探讨FTP客户端的实现原理、C++编程语言在构建FTP客户端中的应用以及相关的技术细节。...
本项目主要探讨了如何使用C语言来实现FTP文件扫描及上传功能,这对于系统管理员、开发者以及需要自动化文件传输的用户来说非常实用。下面我们将深入讨论相关的知识点。 首先,我们需要了解FTP的基本原理。FTP基于...
6. **examples**目录:这个目录下包含了一系列示例代码,用于演示C语言接口的使用和实现。通过研究这些例子,学习者可以掌握如何正确地调用接口,处理错误,以及设计健壮的API。 7. **include**目录:这里存放...
断点续传功能是FTP的一个重要特性,它允许用户在文件传输中断后,从上次中断的位置继续传输,而不需要重新开始整个文件的下载或上传,这对于处理大文件尤其有用,避免了网络不稳定或意外中断带来的困扰。 在C语言中...
在这个主题中,我们将深入探讨FTP客户端的实现,特别是在C语言环境下的编程技术。C语言因其高效、灵活和广泛支持而成为开发此类应用程序的理想选择。 FTP客户端的核心功能包括连接到服务器、登录、列出远程目录内容...
这个控件是RZ控件集中的一部分,它为Delphi开发者提供了一个方便的FTP客户端接口,可以执行各种FTP命令,如登录、上传、下载、删除文件等。在Delphi6中,你可以通过组件面板找到并拖放RZFTPClient到你的表单上,然后...
FTP协议分为命令和数据两个通道,命令通道用于发送控制信息,如登录、改变目录、上传或下载文件的命令;数据通道则用于实际的数据传输。C语言中的网络编程主要涉及套接字(socket)API,开发者需要熟练掌握socket...
在提供的C语言源代码中,可以看到一个简单的FTP客户端的实现。以下是一些关键知识点: 1. **Winsock库**: - `winsock2.h` 是Windows平台上的Socket库头文件,包含了进行网络通信所需的所有函数声明。 - `#pragma...
模拟FTP功能意味着我们需要创建一个能够实现FTP基本操作的系统或应用,这些操作包括:get(下载文件)、put(上传文件)、ls(列出目录内容)以及bye(退出连接)。下面将详细解释这些知识点。 1. FTP协议: FTP...
7. FTP/FTPS:文件传输协议,用于上传和下载文件,FTPS提供安全传输。 二、C语言入门 1. 基本语法:包括变量声明、数据类型(如int、char、float等)、运算符、控制流程(if、for、while等)和函数。 2. 指针:...
2. **命令交互**:一旦连接建立,客户端可以通过发送FTP命令与服务器进行交互,如`USER`和`PASS`命令用于身份验证,`CWD`改变工作目录,`LIST`获取目录内容,`RETR`下载文件,`STOR`上传文件等。 3. **数据传输**:...