使用FreeCookies 控制瀏覽器cookies及修改http響應內容

FreeCookies 插件安裝

1:您的計算機需要已經安裝Fiddler (如未安裝,請至官網下載安裝 http://docs.telerik.com/fiddler/configure-fiddler/tasks/configurefiddler

2:進入Fiddler安裝目錄下的Scripts目錄下,將FreeCookies.dll復制到該目錄下? (下載請至:https://github.com/lulianqi/FreeCookies/raw/master/bin/Debug/FreeCookies.dll 或?http://lulianqi.com/file/FreeCookies.dll? ?)

?

?

3:重啟Fiddler即可在面板中出現 free cookies 標簽

?

?

?

?

FreeCookie使用

  • 通過截獲瀏覽器請求response head頭,并修新增set cookie頭,達到修改瀏覽器cookies的效果

??1: 獲取/編輯 cookies?

?

?如上圖通過在Fiddler左側session面板中選擇任意請求,點擊『Get Cookies』按鈕即可獲取該請求所帶有的所有Cookies

?

??

?獲取cookies后,會顯示在UI界面中,A區域為cookies原始信息,B區域為cookies的格式化列表展示,C區域編輯區可以對B中單條cookie進行編輯

?? B中選擇任意cookie可在C區域對KeyVaule進行編輯,點擊『√』確認修改,『+』添加一條新cookie,『-』刪除選定cookie? (被修改的cookie項背景顏色會改變)

?

? ?2:?cookie添加屬性 domain path 等? 默認會為每個cookie添加 path = / 的屬性

??

B區列表雙擊任意cookie項,彈出編輯框(如下圖)

?

??可在Attributes中修改屬性 點擊『comfirm』按鈕確認修改 (水印為示例)

?

?

?添加屬性后會顯示在B

?

在A區域直接編輯

?????如果您了解Cookies的標準格式,您可以在A區直接編輯Cookies(當格式錯誤時該區文字會變為紅色)

?????注意如果在A區對Cookies進行過編輯,所有cookie使用默認屬性

? ? ?可以復制保存A區的信息,用于后面的調試或發送給其他計算機使用。


? ? ??

3? 向瀏覽器寫入Cookies

?

?

?

編輯好cookies后,選擇需要寫入cookies的網站

Url Filter 中填寫需要寫入的網站

選擇『Inject Cookies Inject Always

Inject Cookies:??當瀏覽器發起請求且url包含Url Filter中的值,則cookies被寫入瀏覽器,但僅寫入一次即被置為失效 (因為一次寫入瀏覽器就會得到指定cookies

Inject Always:??當瀏覽器發起請求且url包含Url Filter中的值,則cookies被寫入瀏覽器,該策略會一直有效,直到用戶取消勾選

?

?

?

如圖當瀏覽器請求baidu時,寫入操作發生。(被修改過的請求在session列表中會顯示黃色高亮,并有log打印)

?

?

?

在瀏覽器中可以看到Cookies已經被寫入同時也加上了HttpOnly 屬性(有2個是因為Url Filter 僅匹配了www.baidu.com, 所有 baidu.com/img 也匹配成功了,2cookies路徑不同)

若需要完全匹配則在Url Filter*開頭即可,全匹配需要帶上http//協議名?及?后查詢參數 (*https://www.baidu.com/? ?表示完全匹配首頁請求,https://www.baidu.com/test 也不會被匹配)

如果 Url Filter填空則表示匹配任意請求?

?

在瀏覽器中直接寫入微信或支付寶公眾號Cookie,到任意站點甚至本地ip進行本地調試,也可以在不同客戶端瀏覽器之間共享cookies

?

?

  • 通過插件修改response

?

?

?

Free cookies 可以輔助修改請求的響應頭及響應內容,主要是方便即時替換(對response的完全控制及其他編輯功能,可以直接使用Fiddler自帶AutoResponser功能,使用方法詳見http://docs.telerik.com/fiddler/knowledgebase/autoresponder

Change Response 也同樣使用Url Filter 中的篩選,一旦匹配成功且Enable Change處于勾選狀態,該請求內容的返回內容中Replace 指定字符串被替換為下方內容(上圖可樂被替換為娃哈哈),同時右邊heads列表中內容會被添加到響應頭中

?

Change Response 啟用Response修改功能

Only Add Head Response僅添加頭部

Regex Replace中的內容是否為正則表達式

Replace :需要替換的內容,如果該項為空,則代表整個替換(Response會被整個替換為下部文本框中內容)

?

被修改后的請求,在session列表中背景色會顯示為暗紅色

下圖為將jd.com 網站內容中可樂替換為娃哈哈的效果

?

?

?

部分情況下我們只需要更改返回的heads,比如通知瀏覽器強制更新,或禁用緩存

下圖為指定網頁https://item.jd.com/4431446.html 禁用緩存(添加Cache-control: no-store返回頭)的例子。

?

?

?

下圖為直接替換https://www.baidu.com/ 頁面(替換的內容為bing的首頁html內容)

將replace填空,下方內容填寫完整的html(也可以是其他返回json,xml等)

?

?

?

?

?

  • 使用RAW模式完全控制相應(包括響應行及響應頭)

使用RAW模式需要您對HTTP response格式有一定了解

?

點擊如圖 raw模式圖標切換進入 Raw 編輯模式

『Please select template』:您可以選擇一個http相應模板,然后在模板中進行編輯,當然您也可以不使用任何模板

『Enabled』:是否啟用替換功能

『Response Direct』:勾選此項請求將直接返回客戶端,而不向服務器發送請求

點擊右側關閉圖標可退出Raw編輯模式

Url匹配仍然使用上文 Url Filter (匹配規則維持一致)

?

使用Raw? 將baidu重定向到google

?

如上圖在Url FIlter處填寫匹配規則

選擇302 Redirect模板,修改模板中lacation內容

在baidu下次請求時即會返回我們指定的內容 (如下圖)

?

?

使用Raw模式直接返回文件等二進制數據

如圖完成配置,在返回實體中按上圖格式填寫本地文件地址(可以在編輯區域鼠標右鍵選擇add file 完成本地文件的添加)

效果如下圖

?

?

?

?

FreeCookies插件源代碼(gitbub :? https://github.com/lulianqi/FreeCookies? ?)

?

?

轉載于:https://www.cnblogs.com/lulianqi/p/9481203.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/250917.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/250917.shtml
英文地址,請注明出處:http://en.pswp.cn/news/250917.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

node --- 使用node連接mysql

1.確保下載了mysql,且mysql處于打開狀態. 2.確保下載了node,并成功安裝:https://nodejs.org/en/ (小黑窗 node -v 查看) 3.安裝node操作mysql的依賴包: # 命令行 npm install --save -mysql# 注:如果沒有package.json 建議先使用 npm init -y 初始化正題 // app.js// 1. 引…

03 渲染元素ReactDOM.render

React與ReactDOM是2個不同的庫,根節點內的所有內容(和DOM更新、渲染相關)由ReactDOM來管理一個React應用只有一個根節點用ReactDOM.render將React元素渲染到根節點 ReactDOM.render 參數1 React元素(React.createElement(類組件/…

javascript --- 異步按順序執行

使用promise可以很優雅的封裝一個異步函數,使其按指定順序執行: // 異步讀取文件操作 const fs require("fs"); function promiseReadFile(url) {return new Promise(function (resolve, reject) {fs.readFile(url, function(err, data) {if(err) {reject(err);} e…

web提高:負載均衡

1、集群 1、為什么建議在阿里云購買負載均衡 非常便宜,又好用,有穩定,有簡單。自己搭建不了負載均衡,因為共有云不支持組播跑不了vrp協議。你不會集群的概念,你還是蒙蒙的。2、為什么使用集群? 1、小規模 …

node --- 一個很好用的包json-server

這個第三方包,可以將json文件暴露出來,用http獲取. (data.json如下) 下載依賴: npm install --g json-server查看是否含有json-server json -sever --version啟動json-server 參考:https://www.npmjs.com/package/json-server

04 組件與Props

一些概念 組件:視圖的片段、內部管理數據集合(state)外部傳入配置結合(props)包含: 1. 視圖標記(React的JSX、Vue的template)需要經過轉換而成為真實的DOM 事件 數據 邏輯&#x…

利用ionic3進行上一行和左一行不動,中間移動的功能

首先在html中的寫法是 <ion-header><ion-navbar><ion-title>歷史數據</ion-title></ion-navbar></ion-header><ion-content ><div style"display:flex;width:625px;"><div class"head">地區</di…

05 state與setState、單向數據流

聲明周期與組件卸載 props配置&#xff1a;使用組件時傳入數據state私有數據&#xff1a;組件內部使用的數據 state的使用注意事項 必須使用setState方法來更改state多個setState會合并調用props和state更新數據要謹慎&#xff08;有可能在異步程序中更新&#xff09;setState…

HDU 3342 Legal or Not(拓撲排序)

描述 ACM-DIY is a large QQ group where many excellent acmers get together. It is so harmonious that just like a big family. Every day,many "holy cows" like HH, hh, AC, ZT, lcc, BF, Qinz and so on chat on-line to exchange their ideas. When someone…

jquery --- 阻止表單默認的提交行為,標準化表單的數據

表單如下: // .html <form id"topics_new_form" method"post" action"/topics/new"><div class"form-group"><label for"exampleInputEmail1">選擇模塊</label><selecet class"form-contr…

javascript --- spa初體驗

首先使用express創建一個簡單的服務器 創建文件夾 be-project # (確保安裝了node,并配置好了環境) 在be-project目錄下(命令行執行) npm init -y npm install --save express body-parse npm install --global nodemon// app.js const express require("express");…

vuex復習筆記

npm install vuex --save 進行安裝 vuex import Vuex from vuex 新建一個vuex文件夾&#xff08;這個不是必須的&#xff09;&#xff0c;并在文件夾下新建store.js文件&#xff0c;文件中引入我們的vue和vuex。 轉載于:https://www.cnblogs.com/jinsuo/p/8508699.html

python學習HTML之CSS(2)

1、邊框的屬性設置 PS&#xff1a;邊框的高度和寬度可以采用百分比&#xff0c;但是高度方向的百分比基本無用&#xff0c;因為基數沒定&#xff0c;參考沒意義&#xff01;&#xff01; 2、內邊距和外邊距 3、在右下角添加一個“回頂部”的標簽。 <div></div>中的…

06 事件處理函數綁定與事件對象

事件處理函數綁定 DOM事件處理 addEventListener or onclick function(){} 純小寫React元素也采用了類似DOM0標準中的事件屬性定義的方法 小駝峰 JSX <button onClick{ this.doSth }></button>直接創建React元素 React.createElement(button,{onClick: { this.…

css -- 兩種方法實現流式布局

Bootstrap將屏幕分為4個等級: 1.超小屏幕 (寬度小于768 px), 顯示寬度 100%; 2.小屏幕 (寬度在768px ~ 992px), 顯示寬度 750px; 3.中等屏幕 (寬度在992px ~ 1200px), 顯示寬度 970px; 4.大屏幕 (寬度大于1200px), 顯示寬度 1170px. js實現: window.addEventListener("r…

python文件名匹配

待匹配文件&#xff1a;#FY3D_IPMNT_GBAL_L1_20180516_0003_030KM_MS.HDF 干擾文件&#xff1a;#FY3D_IPMNT_GBAL_L1_20180516_0003_030KM_MS_uuu.HDF 1.正則表達式import reif re.findall(FY3D_IPMNT_GBAL_L1_\d_\d_030KM_MS.HDF,fileEvery): fileList.append(os.path.join(in…

【XSY1594】棋盤控制 概率DP

題目描述 給你一個\(n\times m\)的棋盤&#xff0c;每次隨機在棋盤上放一個國際象棋中的車&#xff0c;不能和以前放的重疊。每個車可以控制當前行和當前列。當所有行和所有列都被控制時結束游戲。問你結束時期望放了多少個車。 注意&#xff1a;結束的條件是所有行和所有列都被…

07、08 條件渲染、列表渲染

條件渲染 React沒有像v-if、v-show這樣的指令&#xff0c;需要使用JSX表達式組合而成 // 與運算 三目 // 判斷表達式一定是false/null/undefined時才不會被渲染&#xff0c;0、空字符串、NaN會顯示 // 如果render函數返回null&#xff0c;不會進行任何渲染 ......state {showL…

鏈表的翻轉

public ListNode reverseListNode(ListNode node){ ListNode pre null; ListNode now node;//當前節點 while (now !null){ ListNode after now.next; now.next pre; pre now; now after; } …

面向對象命名空間、組合

一 類命名空間與對象、實例的命名空間 創建一個類就會創建一個類的名稱空間&#xff0c;用來存儲類中定義的所有名字&#xff0c;這些名字稱為類的屬性 而類有兩種屬性&#xff1a;靜態屬性和動態屬性 靜態屬性就是直接在類中定義的變量動態屬性就是定義在類中的方法class Pers…