我有一个工作控制台应用程序,它将数据发送到 API。然而,一旦我启动 fiddler,我就会收到消息:
[Fiddler] ReadResponse() 失败:服务器未返回此请求的完整响应。服务器返回 257 字节。
Fiddler 中显示的第一个标头是:HTTP/1.1 504 Fiddler - Receive Failure
它似乎是由 fiddler 直接生成的,而不是来自我的 API 服务器(.NET)。
鉴于 fiddler 不会向我显示服务器的原始结果,我如何调试为什么会发生这种情况?我认为存在某种 HTTP 标头错误,该错误与我的控制台应用程序兼容,但与 Fiddler 不兼容。
我一直在处理 gzip 压缩请求,因此也许其中一个标头不正确(内容长度),但由于无法查看原始响应,因此很难调试此问题。
最后我从@ErikLaw 得到了一些帮助:
- 下载 DebugView https://learn.microsoft.com/en-us/sysinternals/downloads/debugview
- 在会话列表下的 Fiddler 黑色 QuickExec 框中,输入 !spew 并按 Enter 键。Fiddler 将开始向 DebugView 发送详细的日志记录信息,包括所有对网络的读取和写入。
有关失败请求的更多信息随后显示在 DebugView 中,这让我找到了根本原因:我的 Web 服务器在发送所有内容之前提前关闭了连接。
这一切都归功于埃里克。
| 归档时间: |
|
| 查看次数: |
9782 次 |
| 最近记录: |