`
jerry1985
  • 浏览: 30348 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

windows下FTP下载文件代码(c语言)

阅读更多
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;
}
分享到:
评论

相关推荐

    C语言实现FTP下载文件代码(支持windows和linux和ARM交叉编译)

    FTP下载文件命令操作支持windows和linux以及交叉编译环境,自动上传,配置文件 FTP下载文件命令操作支持windows和linux以及交叉编译环境,自动上传,配置文件 FTP下载文件命令操作支持windows和linux以及交叉编译...

    C语言实现FTP上传文件(支持windows和linux)

    在提供的压缩包文件"FTP上传文件代码0123456"中,包含了实现这些步骤的具体C代码。通过分析和理解这些代码,你可以进一步学习如何在实际项目中应用FTP上传功能。同时,不要忘记在编写代码时遵循良好的编程实践,如...

    ftp的文件下载(qt4平台C语言编写)

    在本项目中,我们关注的是在Qt4平台上使用C语言实现FTP文件下载的功能。Qt4是一个跨平台的应用程序开发框架,支持多种操作系统,包括Windows XP。虽然这个实现可能在界面上不如Windows XP下的FTP客户端美观,但核心...

    Windows平台c++对ftp/sftp文件和文件夹下载上传工程源代码

    本项目提供的是一套完整的C++工程源代码,包含了FTP和SFTP的客户端功能,便于开发者在Windows环境下进行文件操作。以下是对该项目中涉及的知识点的详细解释: 1. FTP(File Transfer Protocol):FTP是一种应用层...

    ftp传输---c语言网络编程

    FTP的基本工作原理是客户端-服务器模型,用户通过FTP客户端连接到服务器,然后执行一系列操作如上传、下载文件,列出目录内容,甚至删除文件。在C语言中实现FTP,我们需要理解和使用以下关键知识点: 1. **套接字...

    C语言使用win32API调用命令行命令进行FTP上传下载

    在Windows环境下,C语言可以通过Win32 API(应用程序接口)来与操作系统进行交互,实现各种功能。本文将深入探讨如何利用C语言结合Win32 API调用命令行命令,从而实现FTP(文件传输协议)的上传和下载。 FTP是...

    ftp客户端的C语言实现

    在这个C++实现的FTP客户端项目中,开发者构建了一个简单的工具,让用户能够执行基本的FTP操作,如上传和下载文件。下面我们将详细探讨FTP客户端的实现原理、C++编程语言在构建FTP客户端中的应用以及相关的技术细节。...

    c语言实现FTP文件扫描及上传.rar

    本项目主要探讨了如何使用C语言来实现FTP文件扫描及上传功能,这对于系统管理员、开发者以及需要自动化文件传输的用户来说非常实用。下面我们将深入讨论相关的知识点。 首先,我们需要了解FTP的基本原理。FTP基于...

    C语言接口与实现源代码.zip

    6. **examples**目录:这个目录下包含了一系列示例代码,用于演示C语言接口的使用和实现。通过研究这些例子,学习者可以掌握如何正确地调用接口,处理错误,以及设计健壮的API。 7. **include**目录:这里存放...

    C语言实现ftp断点续传.rar.rar

    断点续传功能是FTP的一个重要特性,它允许用户在文件传输中断后,从上次中断的位置继续传输,而不需要重新开始整个文件的下载或上传,这对于处理大文件尤其有用,避免了网络不稳定或意外中断带来的困扰。 在C语言中...

    Ftp客户端,c代码

    在这个主题中,我们将深入探讨FTP客户端的实现,特别是在C语言环境下的编程技术。C语言因其高效、灵活和广泛支持而成为开发此类应用程序的理想选择。 FTP客户端的核心功能包括连接到服务器、登录、列出远程目录内容...

    ftp 定时上传代码

    这个控件是RZ控件集中的一部分,它为Delphi开发者提供了一个方便的FTP客户端接口,可以执行各种FTP命令,如登录、上传、下载、删除文件等。在Delphi6中,你可以通过组件面板找到并拖放RZFTPClient到你的表单上,然后...

    毕业设计(论文)-基于C语言的FTP软件的设计

    FTP协议分为命令和数据两个通道,命令通道用于发送控制信息,如登录、改变目录、上传或下载文件的命令;数据通道则用于实际的数据传输。C语言中的网络编程主要涉及套接字(socket)API,开发者需要熟练掌握socket...

    FTP客户端和服务器源代码(C语言)实现[参照].pdf

    在提供的C语言源代码中,可以看到一个简单的FTP客户端的实现。以下是一些关键知识点: 1. **Winsock库**: - `winsock2.h` 是Windows平台上的Socket库头文件,包含了进行网络通信所需的所有函数声明。 - `#pragma...

    模拟 ftp功能

    模拟FTP功能意味着我们需要创建一个能够实现FTP基本操作的系统或应用,这些操作包括:get(下载文件)、put(上传文件)、ls(列出目录内容)以及bye(退出连接)。下面将详细解释这些知识点。 1. FTP协议: FTP...

    linux常用服务,以及C语言入门代码

    7. FTP/FTPS:文件传输协议,用于上传和下载文件,FTPS提供安全传输。 二、C语言入门 1. 基本语法:包括变量声明、数据类型(如int、char、float等)、运算符、控制流程(if、for、while等)和函数。 2. 指针:...

    FTP客户端源码-vc语言编写

    2. **命令交互**:一旦连接建立,客户端可以通过发送FTP命令与服务器进行交互,如`USER`和`PASS`命令用于身份验证,`CWD`改变工作目录,`LIST`获取目录内容,`RETR`下载文件,`STOR`上传文件等。 3. **数据传输**:...

Global site tag (gtag.js) - Google Analytics