通过Fiddler工具进行接口代理 - 用本地接口代理线上接口运行

 

Fiddler是抓取请求的工具的一种,类似的还有Charles等,使用Fidder之前应先关闭其他的代理工具

 

需求如下:

网站前端和服务端配合开发了一个页面,会调取接口A的数据并在页面上呈现,现在由于业务要求需要开发新的接口B,在原有的前端逻辑下正常展示。那么,在开发的过程中,在没有前端配合的情况下,服务端如何让这个页面调取B的接口并呈现呢?

 

解决方案是这样:

以去哪儿的某款产品为例:http://szgq1.package.qunar.com/user/id=187688454&abt=a#tf=tejiaqunar

用chrome打开该链接,打开开发者工具,依次选择Network - XHR可以看到页面调用的服务端的接口列表

(如图所示,右侧为该页面调用的接口)

 

以getBottomRecommend接口为例,

右击该接口地址并在新的页面中打开,会显示该接口的出入参。

接口的请求:http://szgq1.package.qunar.com/user/recommend/getBottomRecommend.json?pId=187688454

入参是产品id:pId=187688454

出参是推荐的产品的list数组:

出参的显示结果如下图所示:

 

假设,我们本地开发了一个新的产品推荐接口,接口地址为user/recommend/newGetBottomRecommend.json

在网站前端修改接口地址并上线之前(有时候,情况更加复杂,我们进行的app服务端的开发,为app的某个页面提供接口,在app修改接口地址并打包给我们之前,我们只能通过观察数据的结构来想象展示的效果,而一般情况下pc或M站上是有这样的页面提供给我们测试使用的),我们本地开发的时候需要在原有的界面显示新接口返回的数据

 

打开Fiddler软件,刷新刚才的产品详情页,此时在fiddler窗口中会抓取所有的请求

A区域中显示了页面在刷新后发起的所有的请求,我们在其中找到我们要修改的请求

1、在右侧的区域里选择AutoResponder添加代理

2、勾选这三项

3、Add rule添加代理

4、在4中输入原有的接口地址  http://szgq1.package.qunar.com/user/recommend/getBottomRecommend.json?pId=187688454

5、在5中输入现在代理的接口地址,我们先选择自带的404_Plain.dat试一试,理论上调用这一接口会报404错误(查找不到文件)

6、保存操作,刷新接口请求发现接口返回值是

此时,页面中产品推荐模块的展示结果为:

可见,此时,该模块对应的线上接口调的是我们代理的404的新接口。

7、我们也可以用json文件来代替接口的请求,比如我们将原有的json文件复制下来,进行修改

{"ret":true,"data":{"group":[{"min_price":0,"count":1024,"short_arr":"我家+","arr":"日本,大阪,京都","departure":"博客园","takeoff_date":"今天","url":"/search/group-a-a-%E4%B8%8A%E6%B5%B7-----%E6%97%A5%E6%9C%AC-4812----20160127-10758"}]}}

 

保存为newReturn.json,并在新接口请求的位置选择这个文件

此时,接口的请求结果为我们输入的内容:

页面的显示结果为:

希望对您有所帮助。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值