回 帖 发 新 帖 刷新版面

主题:请教 关于网站链接检测工具Xenu Link Sleuth

现课程要求我们 使用VC++工具编写一个类似的链接检测软件,

可是没有一点相关的知识,请求各位大大指点一二。

已有的一个该功能软件 Xenu Link Sleuth,但是没有源代码,所以

请高人指点:

1、它实现连接检测功能的原理是什么?

2、使用Visual C++编写一个这样的程序,要用到哪些关键的技术?(即

哪些语句?)

先多谢各位高人了

回复列表 (共2个回复)

沙发

最简单的方法是获取连接站点的源文件,然后分析一下
用到的两个基本函数是InternetOpen,InternetOpenUrl
函数用法具体参见MSDN

板凳

    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)
    {
       //连接成功,下面是你要做的工作
               .........           
           }
_______________________________________________________________________
我的部份代吗,我想够你用的了,自己慢慢看吧

我来回复

您尚未登录,请登录后再回复。点此登录或注册