fiddler实现后端接口 mock(不需要修改开发代码)

步骤


1.  获取 接口 定义(接口返回的json串)

2.  json串放入本地txt文件中
例如, test.txt:
{"retCode": "200","Msg": "ok","retSign": "1323243","retTime": " 2324523232 ","totalCount": "13","data": []}

3.  fiddler拦截接口,另返回值取自test.txt中的内容

step1: 接口拖入AutoResponder窗口

step2:  设置接口返回





step3:  设置成功后,直接访问接口即可


可能出现问题


1. 直接mock 接口返回值,js可能报错:No 'Access-Control-Allow-Origin'header is present on the requested resource

原因:在某域名下使用Ajax向另一个域名下的页面请求数据,会遇到跨域问题。另一个域名必须在response中添加 Access-Control-Allow-Origin 的header,
才能让前者成功拿到数据。
如:



解决: fiddler 设置 response的header 
设置内容 : Access-Control-Allow-Origin    *


fidder 设置 http返回头的其他方法 参考:



2.  返回值可能需要unicode编码(即,汉字编码后会变成诸如\u5a92\u5927\u5b66 类似的东西)
解决: 使用 unicode解码即可

unicode解码 工具:

3.  当A接口的reponse header :
Access-Control-Allow-Origin: http://XXX 
Access-Control-Allow-Credentials: true

B接口的
reponse header :
Access-Control-Allow-Origin: http://XXX 
如果要mock B接口 , fiddler的filter必须精确设置为Access-Control-Allow-Origin: http://XXX 

mock接口的其他方法

前提: 可以修改代码中接口的地址

方法: 可以使用mock.js,wiremock等 写代码/json配置方式mock接口


fiddler 修改request(请求数据)


方法一: bpu断点




方法二:url替换

以下是暂时性修改:
urlreplace oldstr newstr //设置替换
urlreplace //取消替换


1)域名替换

urlreplace  www.baidu.com   127.0.0.1:8080

2) url中 指定字符串进行替换
urlreplace a=1 a=2
3) 正则表达式
参考:

urlreplace不支持正则替换,如需用正则,可打开FiddlerScript,在OnBeforeRequest中方法中找到下边代码:
复制内容到剪贴板 程序代码
if ((null != gs_ReplaceToken) && (oSession.url.indexOf(gs_ReplaceToken)>-1)) {   // Case sensitive
    oSession.url = oSession.url.Replace(gs_ReplaceToken, gs_ReplaceTokenWith); 
}
替换为:
复制内容到剪贴板 程序代码
if ((null != gs_ReplaceToken) && (System.Text.RegularExpressions.Regex.IsMatch(oSession.url, gs_ReplaceToken))) {   // Case sensitive
    oSession.url = System.Text.RegularExpressions.Regex.Replace(oSession.url, gs_ReplaceToken, gs_ReplaceTokenWith);
}
永久性修改:
参考:
修改CustomRules.js:
请先在CustomRules.js 找到:
 
  static function OnBeforeRequest ( oSession : Session ) {
   // ...
 }
在函式OnBeforeRequest 中加入:
 
  if ( oSession . HostnameIs ( 'www.demo.com' ) )
   oSession . hostname = 'www.dev.demo.com' ;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

多则惑少则明

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值