主题:请教 关于网站链接检测工具Xenu Link Sleuth
jile
[专家分:0] 发布于 2008-07-24 14:03:00
现课程要求我们 使用VC++工具编写一个类似的链接检测软件,
可是没有一点相关的知识,请求各位大大指点一二。
已有的一个该功能软件 Xenu Link Sleuth,但是没有源代码,所以
请高人指点:
1、它实现连接检测功能的原理是什么?
2、使用Visual C++编写一个这样的程序,要用到哪些关键的技术?(即
哪些语句?)
先多谢各位高人了
回复列表 (共2个回复)
沙发
skyzwch [专家分:50] 发布于 2008-07-29 21:12:00
最简单的方法是获取连接站点的源文件,然后分析一下
用到的两个基本函数是InternetOpen,InternetOpenUrl
函数用法具体参见MSDN
板凳
LoveYouVeryMuch [专家分:160] 发布于 2008-07-31 19:08:00
CString sUrlFile = _T("/");
sUrlFile += m_UpdataDir;
sUrlFile += _T("/");
sUrlFile += m_RenewFile;
CInternetSession HSession;//();_T("UpdateSession"));
CHttpFile *pHttpFile=NULL;
CHttpConnection *pServerCon = NULL;
const WCHAR *pType = L"text/*"; //L"*/*";
WCHAR *pHttpVer = L"HTTP/1.1";
BSTR pDomainName = m_DomainName.AllocSysString();
BSTR pUrlFile = sUrlFile.AllocSysString();
pServerCon = HSession.GetHttpConnection(pDomainName);
if(NULL==pServerCon)
{
return 0;
}
pHttpFile = pServerCon->OpenRequest(
L"GET",
pUrlFile
);
if(NULL==pHttpFile)
{
return HTTPDOWN_FAIL_OPENREQUEST;
}
try
{
pHttpFile->SendRequest();
}
catch(CInternetException* pEx)
{
pEx->Delete();
return HTTPDOWN_FAIL_OPENREQUEST;
}
if(NULL==pHttpFile)
{
return HTTPDOWN_FAIL_OPENREQUEST;
}
DWORD dwCode = 0;
pHttpFile->QueryInfoStatusCode(dwCode);
if(HTTP_STATUS_OK==dwCode)
{
//连接成功,下面是你要做的工作
.........
}
_______________________________________________________________________
我的部份代吗,我想够你用的了,自己慢慢看吧
我来回复