转载: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. How to install VIB on VMware ESXi

    What is VIB? A vib is  vSphere Installation Bundle. To make it more detailed, one can look at the vS ...

  2. java equals 与 hashCode

    转:http://m.blog.csdn.net/blog/pengchua/2297547# 如果你为某个类写了equals方法,那么应该同时编写hashCode方法.如果没有提供hashcode方 ...

  3. Redis特性

    Redis特性和应用场景 Redis特性 速度快 Redis使用标准C编写实现,而且将所有数据加载到内存中,所以速度非常快.官方提供的数据表明,在一个普通的Linux机器上,Redis读写速度分别达到 ...

  4. 今天写页面,将.net也使用了语义法规来判断。做法来源是.net ado.net的类型判断 Infertype。一样的原理

    做了一个封装,使页面更容易维护一些.主要是两个方法,如下所示: private void BindModule(Action<Repeater, string> bindSingRpt)  ...

  5. 给dedeCMS自定义模型添加图片集字段

    1.先找到dedecms图片集模型的templets生成图片集的html代码(album_add.htm) <tr>      <td height="24"  ...

  6. Selenium2 鼠标悬停效果实现

    对一些js控件,鼠标悬停的时候出发下拉层的实现 1.使用Action public void moveToElement(WebDriver driver, By locator) { Actions ...

  7. Android Handler使用

    1. 介绍 Handler允许向关联线程的消息队列(MessageQueue)发送消息(Message)和可执行对象(Runnable).每个Handler实例都与某个线程(即创建该Handler的线 ...

  8. xen hypercall 的应用层实现

    一句话描述: xen hypercall 在应用层的实现,最终都变成对  /proc/xen/privcmd 的 ioctl 系统调用 我们知道,xen 在应用层最上层的接口是 libxl , 基本上 ...

  9. UVA 10594 Data Flow

    无向图费用流 还有一段话摘自别人博客 这道题是无向图的最小费用最大流问题,看清楚是无向图的.这么说无向图和有向图的费用流问题有什么区别呢?主要是反向边的问题.首先我们说一下最大流问题中的反向边,我们需 ...

  10. UVA 763 Fibinary Numbers

    题意讲某个二进制按照规则每一位对应斐波那契数生成新的数字,然后2个数字求和.再求由该规则生成的二进制串.并且要求尽量用更大项的fib数(题目提示不能由连续的1就是2个连续的1(11)不如100更优) ...