用c#写了个爬虫,领导说要做个DNS缓存,请问高手如何写?
获取页面的简单代码如下:            string str = string.Empty;
            HttpWebRequest request;
            try
            {
                request = (HttpWebRequest)HttpWebRequest.Create(li.strUrl);
            }
            catch
            {
                return;
            }            //设置http头
            request.AllowAutoRedirect = true;
            request.AllowWriteStreamBuffering = true;
            request.Referer = "";
            request.Timeout = 10 * 1000;
            request.UserAgent = "";            HttpWebResponse response = null;
            try
            {
                response = (HttpWebResponse)request.GetResponse();
                if (response.StatusCode == HttpStatusCode.OK)
                {
                     ///////
                 }
             }

解决方案 »

  1.   

    就是不需要DNS服务器就可以在本机解析爬过的域名,修改Hosts文件可以的。
      

  2.   

    如果修改Hosts文件不行就自己建立一个数据库,把域名对应的IP地址保存起来,反正爬虫本来也需要数据库保存数据的,放在数据库中也许会更快一些,因为要爬的网站很多吧。
      

  3.   

    Hosts文件在哪?做蜘蛛的话需要频繁修改这个文件吗?
      

  4.   


    别改Hosts了,这是个文本文件,数据量大了会慢,另外一个Hosts文件仅限于当前服务器,还是存储在数据库中吧,这样不会因为服务器本地设置而出现不同的结果。
      

  5.   

    http://zhidao.newhua.com/ask/question.php?id=2080
      

  6.   

    你的意思就是说有了ip后我就可以直接用ip来访问页面而不用域名了,是这个意思吗?
      

  7.   


    DNS 的作用本来就是域名变IP嘛。
      

  8.   

    实际上我就是不太明白,有了域名有了ip,系统就会自动不去远程主机的dns解析了吗?还是得用代码实现啊?要是用代码的话我想知道这段代码怎么写啊
      

  9.   


    下次访问的时候直接用IP替换域名就可以啊,但是有个问题,如果对方服务器是动态IP,就访问不了了。