• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

一个从网上下载文件的类

发布: 2007-7-01 20:40 | 作者: admin | 来源: | 查看: 15次 | 进入软件测试论坛讨论

领测软件测试网



CWebGrab类使您能够快速简洁的从网上下载文件。它支持所有MFC类支持的协议。
这个类使用起来很简单,你只需要调用一个主函数CWebGrab::GetFile。这个函数的语法是:
BOOL GetFile(LPCTSTR szURL, CString& strBuffer,
LPCTSTR szAgentName = NULL, CWnd* pWnd = NULL);

szURL--URL路径 。
strBuffer--是接受下载文件的字符串缓冲。
szAgentName--是你的代理服务器名称(可以是NULL)。
pWnd--是一个状态窗口,它的状态可以用函数SetWindowText()改变。


BOOL GetFileInfo(LPCTSTR szURL, CString& strLastModified, DWORD& dwSize,
DWORD& dwServerError, LPCTSTR szAgentName = NULL,
CWnd* pWnd = NULL);
得到给定URL地址的文件的信息。

szURL--URL路径 。
strLastModified--保存指定文件的最后修改日期的字符串缓冲。
dwServerError--返回的错误代码。
szAgentName--是你的代理服务器名称(可以是NULL)。
pWnd--是一个状态窗口,它的状态可以用函数SetWindowText()改变。


Bryce Burrows 加入了下面这些函数,是这个类更加强大:

void SetUseProxy(bool use);
设置是否使用代理服务器。

void SetProxyServer(LPCSTR server);
设置代理服务器名称。

void SetProxyPort(UINT port);
设置代理服务器端口。

void SetProxy(LPCSTR proxy, WORD port, bool use=true);
一次性设置代理服务器的信息。

void SetForceReload (bool bForceReload)
设置在下在一个文档时是否允许强行重新下载,如果允许,那么下载文档时将没有缓冲。

void GetForceReload()
得到是否允许强行重新下载。

void SetTimeOut(DWORD timeOut);
设置操作的允许时间。

double GetRate();
得到下载速率(Kb/sec)。

SHORT GetErrorCode();
CString GetErrorMessage();
得到错误的代码和消息。

下面是一个例子。
#include "webgrab.h"

void CWebGrabberDlg::OnDownload()
{
CString strBuffer;
CWebGrab grab;
if (grab.GetFile("http://www.mysite.com/index.htm", // the url
strBuffer, // buffer for data
_T("WebGrab demo"), // agent name
GetDlgItem(IDC_STATUS))) // Plain ol’ CStatic window
{
TRACE0("everything went OK ")
}
}


延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网