我有一個應用程序發送壓縮HTTP POST。隨着Fiddler運行,請求失敗,因爲服務器無法解壓縮主體。關閉Fiddler消除了這個問題。有任何想法嗎?提琴手更改壓縮請求導致失敗
回答
在捕獲提供,請求體被壓縮兩次(gzip
,然後再次gzip
),但Content-Encoding
頭僅Content-Encoding: gzip
錯誤地列出。
請求的Content-Length
頭也是不正確的:它是Content-Length: 141
但發送到服務器主體實際上是在長度164
字節。原始主體長度爲159
字節,第一個壓縮過程將其縮小爲長度爲141
字節,並且當已壓縮的內容被重新壓縮時,其長度將增長爲164
字節。
默認情況下,Fiddler不會關心雙重壓縮的內容或無效的Content-Encoding標頭,因爲它不會嘗試解壓請求主體,除非您告訴它這樣做。我能想到的唯一解釋是,也許你在FiddlerScript中寫了一些規則,它是盲目地壓縮請求主體並導致這個問題。另一個可能的原因是,當閱讀此請求時,Fiddler會抱怨無效的Content-Length
標題,並且它沒有表明請求正文在Fiddler本身內部被修改。
原來,如果有'Content-Encoding:gzip'頭文件存在,腳本會自動壓縮/壓縮正文。 Fiddler按照預期爲每一個請求都做了這樣的事情,而不僅僅是那些在作曲家手工製作的人。 – Schultz9999 2014-11-03 17:58:01
FWIW,您可以檢查'oSession.oFlags.ContainsKey(「X-FROM-BUILDER」)'來查看請求是否來自Composer。 – EricLaw 2014-11-03 19:39:13
啊!大!謝謝! – Schultz9999 2014-11-04 17:39:32
- 1. Silverlight請求,失敗和提琴手
- 2. 內部請求失敗導致父請求失敗
- 3. 請求壓縮
- 4. 提琴手2重建加密請求
- 5. 提琴手問題記錄請求
- 6. IIS7壓縮失敗
- 7. SVN更新導致「RA層請求失敗」和「SSL握手失敗:安全連接被截斷」
- 8. Spring引導請求響應壓縮
- 9. Solr的更新壓縮請求
- 10. GetDIBits()與PNG壓縮失敗
- 11. IIS動態壓縮失敗
- 12. jQuery壓縮導致錯誤
- 13. 解壓縮gzip http請求
- 14. 壓縮web服務請求
- 15. Gzip壓縮HTTP請求
- 16. 「混帳SVN取」 導致 「RA層請求失敗」
- 17. 使用GET請求導致殭屍程序對話框失敗
- 18. Mod_rewrite導致使用相對URL失敗的AJAX請求
- 19. 提琴手不解壓gzip響應
- 20. 引導手風琴改道
- 21. SVN:PROPFIND請求失敗
- 22. Ajax請求失敗
- 23. MooTools請求失敗
- 24. Liboauth請求失敗
- 25. git:HTTP請求失敗?
- 26. HTTP請求失敗,
- 27. Git:HTTP請求失敗
- 28. Zxing in portrait會導致圖片被壓縮,掃描速度變慢或失敗
- 29. 連接到HTTPS服務後提琴手失敗
- 30. 提琴手:與'localhost'的連接失敗。與owin selfhost
我從來沒有遇到過這個問題。在Fiddler中,點擊「幫助」>「發送反饋」。發送包含您的流量的SAZ文件,如果這裏的小提琴手出現問題,我很樂意解決這個問題。 – EricLaw 2014-10-29 19:27:11
需要注意的是:你沒有勾選Fiddler工具欄上的'Decode'按鈕,是嗎?如果是這樣,提琴手將解壓縮請求正文並更新標題。正常運行的服務器不會有問題,但如果服務器有問題,所有投注都關閉。 – EricLaw 2014-10-29 19:30:04
解碼按鈕沒有被點擊,即解碼被禁用。 – Schultz9999 2014-10-29 20:31:15