我看到一个奇怪的问题,我不确定如何进一步调试。
我使用的是 Windows 10,版本 1511(操作系统内部版本 10586.318)
我正在使用一个返回 json 的内部 Web 服务,今天注意到,当我直接从已安装的 Web 浏览器(Chrome、Firefox、Edge)访问端点时,它开始返回格式错误的 json(缺少最后一个“}”)。当我从 Powershell 或 C# 调用端点时不会发生这种情况。
我在本地和托管 Web 服务的应用服务器上安装了 Wireshark。在两个位置进行的快速捕获显示数据包已正确发送并正确接收(最后一个“}”完好无损)。
但是,当我使用 Fidder4 捕获流量时,最后一个“}”丢失了。
更有趣的是,Windows 7 或 Ubuntu LTS 上使用相同服务的人都不会发生此问题。
关于如何进一步调试这个问题有什么想法吗?
更新 1:我再次查看了 Wireshark 捕获的数据包、Fiddler4 捕获的数据包以及 Chrome 在开发工具中看到的响应。我注意到“Content-Encoding: deflate\r\n”标头丢失了。我不知道它为什么会丢失。
答案1
我预计不会有网络问题,因为使用 Wireshark 捕获的内容有“}”。
我怀疑是防病毒软件或浏览器插件中存在错误。
发帖者注:这最终是 ESET 端点防病毒套件的一个错误 - 特别是名为“ESET Web 访问保护”的功能。目前,重新配置此功能以排除内部流量已解决该问题。