假如我们只需要看前端页面的一些展示效果,不用关注后台实现的话。

一个简便的做法是把前端http的请求重定向到你本地的一个文件。


1.替换返回内容

假如有个这样的一个request

wenread.com/getxml  

期望返回的结果是一个xml文件,那我们可以本地创建一个xml文件来替换掉,例如创建文件response_xml.xml,放在D:\my_test目录下。


(1)点击右边的AutoResponder

勾选上 "Enable rules"、“Unmatched requests passthrough";

(2)点击按钮"Add Rule"

其中If request matches...对应的就是请求地址,如果是对应一个完整的url前面加上EXACT: ,如果只是模糊匹配就手动去掉。

then respond with...对应的就是返回信息,你可以填写一个本地文件的地址。

(3)点击"Save"


例如我的例子就是

http://wenread.com/getxml         D:\my_test\response_xml.xml


2.修改返回头信息

参考: http://docs.telerik.com/fiddler/KnowledgeBase/FiddlerScript/ModifyRequestOrResponse


修改http请求返回的正文信息比较容易,直接用xml、txt之类的本地文件作为返回就行。但如果是修改或添加返回头信息就比较麻烦,需要改脚本。


点击菜单: Rules-->Customize Rules..., 如果没安装FiddlerScript Editor就会提示安装。

安装好后在界面右侧会多出一个标签栏FiddlerScript,在里面编辑脚本即可。或者点击 Rules-->Customize Rules... 直接打开脚本进行编辑。


搜索关键字OnBeforeResponse会找到这样一个函数,从函数名字也可以顾名思义,我们是修复返回头信息,那自然是在before response就通过脚本做些操作。

 static function OnBeforeResponse(oSession: Session) {
        if (m_Hide304s && oSession.responseCode == 304) {
            oSession["ui-hide"] = "true";
        }

}


里面默认的代码不用去管,我们添加如下蓝色字样的代码。先做个判断,请求的hostname是什么,然后对该请求的返回头信息,添加一些字段。

 static function OnBeforeResponse(oSession: Session) {
        if (m_Hide304s && oSession.responseCode == 304) {
            oSession["ui-hide"] = "true";
        }
       

wenread.com")){
            if (!oSession.ResponseHeaders.Exists("Access-Control-Allow-Credentials"))
                oSession.ResponseHeaders.Add("Access-Control-Allow-Credentials","true");
            if (!oSession.ResponseHeaders.Exists("Access-Control-Allow-Origin"))
                oSession.ResponseHeaders.Add("Access-Control-Allow-Origin","http://wenread.com");
    }

上面是添加头信息,假如是已经存在的头信息需要修改值咋整呢?

if (oSession.ResponseHeaders.Exists("Content-Type"))
                oSession.ResponseHeaders["Content-Type"]="application/x-javascript; charset=utf-8";



3.需要修改返回头信息的场景

关于2中的头信息修改,你可能会疑惑啥时用得着呢? 在跨域请求的时候需要用到,如果不这样添加头信息就会请求失败,这主要是出于安全考虑。跨域请求你可以简单的理解成一个网站请求另外一网站的信息。