我正在使用Charles Proxy來重寫來自API的響應以用於測試目的。是否有可能用Charles Proxy重寫狀態碼?
如果我設置一個斷點,我允許,我想完全重寫原始響應。
但是,如果我想通過「重寫」工具來自動執行它,我卡住了,似乎你不能修改的狀態代碼:
你知道,如果我遺漏了什麼?
我正在使用Charles Proxy來重寫來自API的響應以用於測試目的。是否有可能用Charles Proxy重寫狀態碼?
如果我設置一個斷點,我允許,我想完全重寫原始響應。
但是,如果我想通過「重寫」工具來自動執行它,我卡住了,似乎你不能修改的狀態代碼:
你知道,如果我遺漏了什麼?
這不是直接回答你的問題,但在我的評論指出上面我是在同樣的情況,我發現使用不同的工具,它爲我的作品很好的解決方案。
而是查爾斯的,我跑mitmproxy,特別mitmdump,這個簡短的Python rewriting script:
#!/usr/bin/env python
def response(context, flow):
if '/somePath' not in flow.request.path:
return
flow.response.status_code = 404
鉤它到代理服務器,我運行mitmdump
這樣的:
mitmdump -s /path/to/rewriting-script.py
,它效果很好。
我在OS X和我配置的網絡接口的Web代理爲127.0.0.1端口8080
最後編輯:馬克Liyanage的回答是最正確的這個問題現在。
不,你不,我不認爲這是可能改寫一個狀態代碼。
我不能將其添加爲註釋(新用戶),但一個解決方法是:
我試過使用地圖本地,這將是完美的,但查爾斯增加了它自己的200 OK狀態代碼到返回的所有文件。
編輯:你也可以使用個體反應斷點和修改代碼。
Marc Liyanage的答案是Charles新版本(3.8+)的正確答案。 – alejandromp
使用查爾斯3.8 +,你可以重寫狀態碼。
在重寫工具中,選擇「類型:響應狀態」。 在匹配字段和替換字段中,請注意,Charles預計傳入和重寫的狀態匹配格式"\d{3} .*"
。這意味着您的重寫狀態除了數字狀態碼之外還必須有一個消息部分。
例如:
匹配值:201 *
替換值:502錯誤的網關
省略從替換值的消息將導致沒有重寫的狀態線。 您可以在每個調用摘要的Notes部分中看到Charles的重寫工具輸出消息。
我只是想知道同樣的事情。我現在需要這個功能,所以我向Charles Proxy的作者發送了支持請求。如果我知道如何做到這一點,我會報告回來。 –