我有一個應用程序發送壓縮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. 提琴手:是否可以壓縮/ gzip請求正文?
- 3. 提琴手:修改請求發送
- 4. 內部請求失敗導致父請求失敗
- 5. 提琴手請求WCF與504 ReadResponse失敗()失敗:服務器未返回該請求的響應
- 6. 提琴手請求一個Python請求請求
- 7. 請求壓縮
- 8. 所有傳入請求的提琴手?
- 9. 提琴手2重建加密請求
- 10. 提琴手問題記錄請求
- 11. IIS7壓縮失敗
- 12. SVN更新導致「RA層請求失敗」和「SSL握手失敗:安全連接被截斷」
- 13. Spring引導請求響應壓縮
- 14. Solr的更新壓縮請求
- 15. 使用提琴手的更改方案
- 16. 致命的:HTTP請求失敗
- 17. IIS動態壓縮失敗
- 18. LZO壓縮測試失敗
- 19. GetDIBits()與PNG壓縮失敗
- 20. jQuery壓縮導致錯誤
- 21. JDBC sql請求壓縮
- 22. 壓縮JSF 2.0 Ajax請求?
- 23. Gzip壓縮HTTP請求
- 24. 解壓縮gzip http請求
- 25. 壓縮web服務請求
- 26. 請求模塊和壓縮
- 27. http請求裏面的gunicorn導致gunicorn響應失敗?
- 28. NSMutableURLRequest導致請求失敗的自定義標頭
- 29. net/http掛起請求導致失敗 - RoR
- 30. 「混帳SVN取」 導致 「RA層請求失敗」
我從來沒有遇到過這個問題。在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