您的位置:首页 > 其它

Windows CE 下判断 URL 地址是否有效

2016-02-22 10:03 323 查看
直接上代码了。

/*
有效网址:http://tyq3.huaxiazi.com/mp3/全人类最冷的27个笑话/lxh025.wma
无效网址:http://tyq3.huaxiazi.com/mp3/100001/奇幻鬼故事/qhggs00802.mp3
*/
#include "Wininet.h"
#pragma comment (lib, "wininet.lib")
#define BUFFER_SIZE 20
BOOL CGetIPFromURLDlg::CheckUrlFileExist(TCHAR *ptcFileAddress)
{
HINTERNET hInternet = NULL;
TCHAR tcRet[BUFFER_SIZE + 1];
DWORD dwBufLength = BUFFER_SIZE;
DWORD dwIndex = 0;

ZeroMemory(tcRet,sizeof(TCHAR) * (BUFFER_SIZE + 1));

ghInstance = InternetOpen(L"InetURL:/1.0",
INTERNET_OPEN_TYPE_PRECONFIG,
NULL,
NULL,
0/*INTERNET_FLAG_ASYNC*/);
if(NULL == ghInstance)
{
RETAILMSG(1,(L"Call InternetOpen failed: %d\r\n",GetLastError()));
return FALSE;
}
hInternet = InternetOpenUrl(ghInstance,ptcFileAddress,NULL,0,INTERNET_FLAG_RELOAD,0);
if(NULL == hInternet)
{
RETAILMSG(1,(L"Call InternetOpenUrl failed: %d\r\n",GetLastError()));
return FALSE;
}
if(HttpQueryInfo(hInternet,HTTP_QUERY_STATUS_CODE,tcRet,&dwBufLength,&dwIndex))
{
if(0 != _wcsicmp(tcRet,L"200") && 0 != _wcsicmp(tcRet,L"302"))
{
RETAILMSG(1,(L"Invalid www address: %s!\r\n",tcRet));
return FALSE;
}
}
else
{
RETAILMSG(1,(L"Call HttpQueryInfo failed: %d\r\n",GetLastError()));
return FALSE;
}

RETAILMSG(1,(L"Valid www address: %s!\r\n",tcRet));
return TRUE;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: