WinInet编程详解

本文详细介绍了如何使用WinInet库进行HTTP和FTP客户端编程。通过InternetOpen、InternetConnect、FtpOpenFile等API函数,创建会话、连接服务器并进行文件读写操作。同时,也展示了MFC中的CInternetSession类如何简化HTTP和FTP的访问,如OpenURL和GetFtpConnection等方法的使用。
摘要由CSDN通过智能技术生成
 

一般而言,开发Internet服务客户端程序的目的是通过Internet协议(HTTP,FTP)获取网络数据源的信息,微软提供了专门的Win32 Internet扩展接口,也就是WinInet。

1使用Win API函数开发客户端程序

一般流程是,首先通过InternetOpen()函数创建位于根部的HINTERNET句柄,然后才能进一步建立HTTP、FTP会话,使用InternetConnect()函数创建一个指定的会话,初始化HTTP、FTP会话(根据指定的参数决定),并创建一个根句柄的分支,HttpOpenRequest()、FtpOpenFile()、FtpFindFirstFile()等函数将使用InternetConnect()所创建的句柄,建立到指定站点的连接。例子代码如下:

bool testFtpDownload ()

{

    // 建立会话

    HINTERNET hInternet;

    hInternet = InternetOpen("", INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0);

    if(hInternet == NULL) return false;

 

    // 建立连接

    HINTERNET hConnect;

    hConnect = InternetConnect(hInternet, "112.128.125.11", INTERNET_INVALID_PORT_NUMBER,

       "", "", INTERNET_SERVICE_FTP, INTERNET_FLAG_PASSIVE, 0);

    if(hInternet == NULL) { InternetCloseHandle(hInternet); return false; }

 

    HINTERNET hFtpFile;

    hFtpFile = FtpOpenFile(hConnect, "common/ Essential C++中文版.pdf", GENERIC_READ, FTP_TRANSFER_TYPE_BINARY|INTERNET_FLAG_RELOAD, NULL);

    if(hFtpFile == NULL) {   InternetCloseHandle(hConnect); Intern

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值