假如我们只需要看前端页面的一些展示效果,不用关注后台实现的话。
一个简便的做法是把前端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中的头信息修改,你可能会疑惑啥时用得着呢? 在跨域请求的时候需要用到,如果不这样添加头信息就会请求失败,这主要是出于安全考虑。跨域请求你可以简单的理解成一个网站请求另外一网站的信息。