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

  • 相关阅读:
    清理yum源
    XZ压缩
    Linux命令之dot
    calltree查看工程代码中的函数调用关系
    valgrind 打印程序调用树+进行多线程性能分析
    LINUX 性能 测试 优化工具
    TCP/IP(84) 详解
    perf---LINUX内核研究
    廖雪锋笔记3:类型转换
    廖雪锋笔记2:list,tuble
  • 原文地址:https://www.cnblogs.com/limei/p/1822509.html
Copyright © 2011-2022 走看看