迅雷下载开放引擎

Eddy 发布于2011-2-26 15:29:20 分类: 网络杂烩 已浏览loading 网友评论0条 我要评论

迅雷下载开放引擎是迅雷开放下载技术的重要产品,依托迅雷强大的下载加速技术和将近4亿互联网用户覆盖,开放下载相关调用接口,为第三方客户端软件提供免费、高速、省带宽的下载加速服务。

*****官方网站*****
http://thunderplatform.xunlei.com

*****下载地址*****
http://down.sandai.net/xlplatform/ThunderPlatform_SDK_1.0.0.zip

*****接口说明*****
http://xldoc.xl7.xunlei.com/

*****SDK说明*****
1,开放引擎库文件和头文件
2,开放引擎示例程序及示例程序源代码

完全开放、完全免费、互利、共赢,欢迎业界厂商和第三方开发者采用迅雷下载开放引擎为您的产品提供更高的价值和更好的用户体验。

程序实例:

#include <stdio.h>
#include <windows.h>
#include <tchar.h>
#include ".\\XLDownload.h"
#include ".\\XLError.h"

int main()
{
     // 1、初始化下载引擎
     if ( FALSE == XLInitDownloadEngine() )
     {
          printf("Initialize download engine failed.\n");
          return 1;
     }

     // 2、启动新任务
     // PS:如果链接无法通过,请把工程属性“将wchar_t设置为内置类型        (/Zc:wchar_t)”设置为Yes
     LONG   lTaskId = 0;
     DWORD  dwRet   = XLURLDownloadToFile(
                       _T("d:\\xmp.exe"), 
                       _T("http://xmp.down.sandai.net/kankan/XMPSetup_3.8.1.485-www.exe"), 
                       _T(""), lTaskId);

     if ( XL_SUCCESS != dwRet )
     {
          XLUninitDownloadEngine();
          printf("Create new task failed, error code:%d.\n", dwRet);
          return 1;
     }

     printf("Begin download file.\n");

     // 3、查询任务状态
     do 
     {
          ::Sleep(1000);

          ULONGLONG   ullFileSize = 0;
          ULONGLONG   ullRecvSize = 0;
          LONG        lStatus     = -1;

          dwRet = XLQueryTaskInfo(lTaskId, &lStatus, &ullFileSize, &ullRecvSize);
          if ( XL_SUCCESS==dwRet )
          {
               // 输出进度信息
               if ( 0 != ullFileSize )
               {
                    double  douProgress = (double)ullRecvSize/(double)ullFileSize;
                    douProgress *= 100.0;
                    printf("Download progress:%.2f%%\n", douProgress);
               }
               else
               {
                    printf("File size is zero.\n");
               }

               if ( enumTaskStatus_Success==lStatus )
               {
                    printf("Download successfully.\n");
                    break;
               }

               if ( enumTaskStatus_Fail==lStatus )
               {
                    printf("Download failed.\n");
                    break;
               }
          }
     } while( XL_SUCCESS==dwRet );

     // 4、无论是否下载成功,都必须调用XLStopTask
     XLStopTask(lTaskId);

     // 5、释放资源
     XLUninitDownloadEngine();
     return 0;
}

不用自己写下载了,可以试试……

已经有(0)位网友发表了评论,你也评一评吧!
原创文章如转载,请注明:转载自Eddy Blog
原文地址:http://www.rrgod.com/internet/714.html     欢迎订阅Eddy Blog

记住我的信息,下次不用再输入 欢迎给Eddy Blog留言