1. 程式人生 > >fiddler實現後端介面 mock(不需要修改開發程式碼)

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

相關推薦

fiddler實現介面 mock需要修改開發程式碼

步驟 1.  獲取 介面 定義(介面返回的json串) 2.  json串放入本地txt檔案中 例如, test.txt: {"retCode": "200","Msg": "ok","retSign": "1323243","retTime": " 232452323

介面遷移從 webapi 到 openapi前端經驗總結

此文已由作者張磊授權網易雲社群釋出。 歡迎訪問網易雲社群,瞭解更多網易技術產品運營經驗。 前情提要 以前用的是 webapi 現在統一切成 openapi,欄位結構統統都變了 接入介面 20+,涉及模組的建立等主要流程。 頁面基本無改,僅有一個新需求,建立時新增一個欄位 其他依賴介面需要接入模組

SSM框架搭建電商網站介面日記1——專案初始化

專案環境 作業系統:Window10,IDE:IDEA,伺服器:Centos7.0 專案初始化 資料庫 Navicat連線線上資料庫,新建資料庫mmall,匯入表結構執行sql檔案,結果如下: 建立專案 開啟IDEA選擇,create

JAVA 返回資料過濾需要的欄位 萌新記錄

之前做專案的時候,基本都是查到一個物件或者一個集合就拋給前端,也沒注意過敏感資料洩露的問題,最近經人提醒,開始考慮怎麼解決。 這裡貼一篇很不錯的博文 java介面資料json過濾欄位方法整理 但是專案用的是fastjson,按照博文方法過濾的話有點麻煩,並且我的返回值是經過包裝的JSON

MyEclipse 2015實現JavaScript程式碼自動提示需要額外安裝外掛

步驟一:  在window>myeclipse>javascript>tern>development>repository  勾選了需要支援的jquery\javascr

win10操作虛擬機器中hadoop IntelliJ IDEA直接執行程式碼需要打jar包

IntelliJ IDEA 2018.2.3 (Ultimate Edition)+Maven VMware中CentOS6.5 Hadoop2.7.1 上課的時候老師使用的是Eclipse編譯器,使用了 eclipse-hadoop的外掛。可以直接在eclipse

tomcat設定直接通過域名訪問專案需要接 /專案名

效果圖 開啟 tomcat - ->conf- ->server.xml 編輯> 改成如下程式碼 <Connector port="80" p

樹莓派3代B+型貼散熱片,連線wifi,並開啟ssh服務需要任何windows工具

有錯的地方,或者不同意見的,煩請留言,或者發郵箱。 郵箱地址:[email protected] ————————————————————————————————— 硬體: 我所買的是亞博智慧科技的樹莓派3B+E14新款-基礎套餐。 軟體: a,樹莓派系統 系統

Android studio 多渠道打包,但只生成一個debug包需要多渠道debug包

多渠道打包方式,網上有很多的介紹了,這裡就不再多說了。 配置好打多渠道包,每次手機連線電腦,想執行一下測試。發現在buildout/apk目錄下生成了每個渠道的debug包。而且每執行一次,就成生一個debug包。 這樣是不是很煩。如果只想生成一個debug的包。怎麼做

iOS毛玻璃效果需要任何第三方了

分享兩種毛玻璃效果設定的方法,不需要任何三方東東,先看效果: 原圖: 方法一(iOS8系統方法): 方法二: 下面是示例程式碼: #import "ViewController.h"@interface ViewController ()  {      UIIm

tensorflow中儲存模型、載入模型做預測需要再定義網路結構

下面用一個線下回歸模型來記載儲存模型、載入模型做預測 參考文章: 訓練一個線下回歸模型並儲存看程式碼: import tensorflow as tfimport numpy as

基於Vue2.x開發的音樂播放器app推薦介面+懶載入+axios獲取介面實現

1、專案開發需求分析: 包含四個層面—— (1)推薦模組 (2)歌手模組 (3)排行模組 (4)搜尋模組 2、專案開發流程 (1)搭建專案:藉助vue-cli腳手架工具,具體請參考部落格: ...; 由於專案存放在本地電腦E盤VueTest目錄下, cd E:\VueTes

如何使用elementUI呼叫一次介面同時上傳圖片和檔案,同時需要攜帶其他引數,實現呼叫介面

今天有一個坑,同時要上傳圖片和檔案,而且圖片要展示縮圖,檔案要展示列表。 我的思路是: 首先,只上傳附件照片,這個直接看ele的官方例子就行,不僅僅上傳附件照片,還同時上傳其他引數。 然後,再做上傳照片和檔案,上傳其他引數,其實也就是檔案合併。   一、上傳照片和其他引

介面實現重複提交驗證

利用資料庫是否更新驗證 新建一個欄位version,每次更新的時候要求version都為0,更新後version加1,判斷更新是否成功來判斷是否重複提交。 基於快取資料狀態的驗證(讀取nosql資料需要時間,仍然會有重複) 將更新的ID儲存到nosql中,判斷nosql中

Panda學習筆記4——多表功能開發2介面開發

進行功能性的開發,主要涉及到: 序號 型別 名稱 1 DTO CodeRulesTest1Header 2 DTO CodeRulesTest1Line 3 Mapper CodeRulesTest1HeaderMapper 4 Ma

springboot學習2-編寫介面2種方式

可以將啟動類和controller放一起,如下: package com.example.demo; import org.springframework.boot.SpringApplication; import org.springframework.boot.au

實現登入頁面登入成功跳轉過程個人理解學習,程式碼完整

function login()    {        var userName = document.getElementById("loginName").value;//通過ID獲取元素        var pwd = document.getElementById

Vue 上傳材料並傳給介面使用input

最近工作中接到一個需求,需要上傳一個檔案材料,提交時傳給後端。使用的框架是Vue,廢話不說直接上程式碼 <template> <div> <input type="file" @change="inputFileChange"> <button

循序漸進VUE+Element 前端應用開發(14--- 根據ABP介面實現前端介面展示

在前面隨筆《循序漸進VUE+Element 前端應用開發(12)--- 整合ABP框架的前端登入處理》簡單的介紹了一個結合ABP後端的登陸介面實現前端系統登陸的功能,本篇隨筆繼續深化這一主題,著重介紹基於ABP後端介面資訊,實現對前端介面的開發工作。 ABP(ASP.NET Boilerplate)框架主要是

使用linux的shell腳本實現在當前行重復動態顯示時間等字符串信息另起新行

shell 實現 時間 lin 裏的 cnblogs find fin suse11 ###本腳本在Suse11sp2當中驗證正確 #!/bin/sh while ((1)) do echo -ne "\r$(d