您的位置:首页 > 理论基础 > 计算机网络

判断网络文件是否存在(VC源码)

2011-11-18 11:03 246 查看
有时候,用下载工具下载网络文件需要等待很久,不知道是否有网络资源,这是就需要判断网络文件是否存在。下面我用VC++6.0编写出来。

新建一个MFC对话框程序,添加文本编辑框、按钮控件,ID分别设为IDC_EDIT_Link,IDC_BTN_CHECK

程序代码:

//添加头文件 #include <afxinet.h>

void CJudgeNetFileDlg::OnBtnCheck()

{

// TODO: Add your control notification handler code here

CString link;

GetDlgItem(IDC_EDIT_LINK)->GetWindowText(link); //获得填写的文件链接

//MessageBox(str);

CInternetSession sess ;

DWORD dwFlag = INTERNET_FLAG_TRANSFER_BINARY|INTERNET_FLAG_DONT_CACHE|INTERNET_FLAG_RELOAD ;

CHttpFile *pF = (CHttpFile*)sess.OpenURL(link,1, dwFlag);

ASSERT(pF);

if(!pF)//判断HttpFile指针是否为空就可以判断网络文件是否存在

{

AfxThrowInternetException(1);

}

CString str;

pF->QueryInfo (HTTP_QUERY_STATUS_CODE, str);//HTTP_QUERY_STATUS_CODE查询状态信息,这里可以查询文件的大小等等,具体的在HTTP_QUERY_STATUS_CODE上右键,转到定义,有很多可选项

int b = _ttoi(str);

if (b==404)

{

AfxMessageBox("网络文件不存在!");

}

else

{

AfxMessageBox("网络文件存在!");

}

}

VC++6.0编译通过!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: