zoukankan      html  css  js  c++  java
  • 页面爬行模拟器 Anny

    工作中要求测试文本抽取器(Extractor),需要提供一个页面爬行模拟器(CrawlerSimulator)向Extractor提供爬行结果,基本需求如下:

    1. 用web service实现;

    2. 提供对外API可以用<key,value>的形式(确切的是<url,content>),将对应的页面信息存入缓存 Dictionary<string, string> cacheHtml 中,提供API从缓存中查询和移除,主要有3个API(AddEntry,RemoveEntry,RetriveEntry);

    3. 提供ashx或者aspx页面供Extractor调用;

    4. 可以随机生成页面内容(用DataFactory实现,由微软提供);

    5. 可以覆盖所有Extractor可以捕获的错误信息;

    6. 向Extractor返回不同的HTTP Status Code。

    其中,有关HTTP301和HTTP302的情况,下面是其简单的区别

    301 redirect: 301 代表永久性转移(Permanently Moved),302 redirect: 302 代表暂时性转移(Temporarily Moved )

    下面是其模拟方法:

         case CrawlerOptions.HTTP301:
                        context.Response.StatusCode = (int)HttpStatusCode.Moved;
                        context.Response.AddHeader("Location", "http://www.msn.com");
                        break;
                    case CrawlerOptions.HTTP302:                   
                        context.Response.Redirect("http://www.msn.com");

    补充ing

  • 相关阅读:
    【转】Android开发中Handler的使用
    【转】关于微信开发者平台移动应用获取签名解决问题
    AndroidStudio开发工具快捷键
    进程与线程
    【转】Git常用命令
    Java中内存空间的分配及回收
    【转】Github入门教程
    周记
    本周工作内容及感想
    总结
  • 原文地址:https://www.cnblogs.com/limei/p/1822509.html
Copyright © 2011-2022 走看看