转载:http://blog.csdn.net/huazhongkejidaxuezpp/article/details/50435552

步骤

 
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' ;

fiddler实现后端接口 mock(不需要修改开发代码)的更多相关文章

  1. 使用electron开发一个h5的客户端应用创建http服务模拟后台接口mock

    使用electron开发一个h5的客户端应用创建http服务模拟后端接口mock 在上一篇<electron快速开始>里讲述了如何快速的开始一个electron的应用程序,既然electr ...

  2. SpringBoot写后端接口,看这一篇就够了!

    摘要:本文演示如何构建起一个优秀的后端接口体系,体系构建好了自然就有了规范,同时再构建新的后端接口也会十分轻松. 一个后端接口大致分为四个部分组成:接口地址(url).接口请求方式(get.post等 ...

  3. 【项目实践】SpringBoot三招组合拳,手把手教你打出优雅的后端接口

    以项目驱动学习,以实践检验真知 前言 一个后端接口大致分为四个部分组成:接口地址(url).接口请求方式(get.post等).请求数据(request).响应数据(response).如何构建这几个 ...

  4. vue菜鸟从业记:公司项目里如何进行前后端接口联调

    最近我的朋友王小闰进入一家新的公司,正好公司项目采用的是前后端分离架构,技术栈是王小闰非常熟悉的vue全家桶,后端用的是Java语言. 在前后端开发人员碰面之后,协商确定好了前端需要的数据接口(扯那么 ...

  5. 努力一周,开源一个超好用的接口Mock工具——Msw-Tools

    作为一名前端开发,是不是总有这样的体验:基础功能逻辑和页面UI开发很快速,本来可以提前完成,但是接口数据联调很费劲,耗时又耗力,有时为了保证进度还不得不加加班. 为了摆脱这种痛苦,经过一周的努力,从零 ...

  6. 【原】接口mock作用

    1.前后端 接口定义完成 并发开工 2.测试拿到mock接口 编写用例 3.mock接口 模拟异常服务器返回值 500 404 4.mock接口 模拟数据 不修改线上数据库

  7. 基于Node.js的微信JS-SDK后端接口实现

    做了一个网站,放到线上,用微信打开,点击分享,可是分享后发给朋友的链接卡片是微信默认自带的,如下: 这标题,描述以及图片是默认自带的,丑不说,分享给别人还以为是盗号网站呢,而接入微信的JSSDK后,分 ...

  8. RAP 接口Mock示例

    前后端分离式开发的思考 目前大部分公司都实行了前后端分离开发.然而在项目开发过程当中,经常会遇到以下几个尴尬的场景: 1.前端开发依赖于后端接口数据,需要与后端接口联调才能获得数据展示,从而拖慢了开发 ...

  9. SpringCloud微服务之跨服务调用后端接口

    SpringCloud微服务系列博客: SpringCloud微服务之快速搭建EurekaServer:https://blog.csdn.net/egg1996911/article/details ...

随机推荐

  1. 扩展欧几里得(ex_gcd),中国剩余定理(CRT)讲解 有代码

    扩展欧几里得算法 求逆元就不说了. ax+by=c 这个怎么求,很好推. 设d=gcd(a,b) 满足d|c方程有解,否则无解. 扩展欧几里得求出来的解是 x是 ax+by=gcd(a,b)的解. 对 ...

  2. Windows获取FSMO角色

    获取 FSMO 角色若要使用 Ntdsutil 实用工具获取 FSMO 角色,请按照下列步骤操作:1.登录到基于 Windows 2000 Server 或 Windows Server 2003 的 ...

  3. (转)Python 操作 Windows 粘贴板

    转自: http://outofmemory.cn/code-snippet/3939/Python-operation-Windows-niantie-board Python 操作 Windows ...

  4. [Oracle] Transporting Tablespace

    Transporting Tablespace Between Database [测试目的] 利用Oracle TTS(transport tablespace)特性实现表空间合并 [主要步骤] 确 ...

  5. JDK 8的依赖使用

    第一步:compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VER ...

  6. Daemon Process

    Daemon Process 守护进程(Daemon)是运行在后台的一种特殊进程.它独立于控制终端并且周期性地执行某种任务或等待    处理某些发生的事件.守护进程是一种很有用的进程.     Lin ...

  7. 将C#程序做成服务后服务自动停止的问题

    查了好几天,没法调试实在是很难找错误,今天想了半天到事件查看器,提示如下: 说明: 由于未经处理的异常,进程终止. 异常信息: System.NullReferenceException 想了半天,应 ...

  8. CF985A Chess Placing【思维】

    [链接]:CF985A [题意]:给你n和n/2个数ai,每个ai和奇数.偶数比较距离(注意选了奇数,偶数的距离就不要算了,反之同理),求最小的答案. [代码]: #include <iostr ...

  9. poj2976(01分数规划)

    poj2976 题意 给出 a b 数组,一共 n 对数,其中最多可以去掉 k 对,问怎样使剩下比率(原始比率是 $ \frac{\sum_{i=1}^{n} a}{\sum_{i=1}^{n} b} ...

  10. Sharepoint 查阅项字段和计算值字段的定义

    查阅项字段定义 <Field Type="Lookup" DisplayName="test2" Required="FALSE" E ...