首页 > 解决方案 > 某些网站 FiddlerCore 的响应正文为空

问题描述

我正在使用 Fiddler 核心进行一些测试,我能够拦截几乎所有站点的流量,但对于某些 HTTPS 站点,我得到空响应正文。

到目前为止,我已经找到了 2 个站点:

Facebook.com Google.com

我已经测试了其他 HTTPS 站点(包括 StackOverflow),我对它们没有任何问题。

这是我的代码:

var content = oSession.ResponseHeaders.FirstOrDefault(
    (item => string.Equals(item.Name, "content-type", StringComparison.InvariantCultureIgnoreCase)));

if (oSession.host.Contains("google.com"))
    if (content != null)
    {
        if (!content.Value.Contains("text/html")) return;
    }
    else return;
else return;
var x = oSession.oResponse;
var body = oSession.GetResponseBodyAsString(); // actual response from the server
var doc = new HtmlDocument();
doc.LoadHtml(body);
var htmlNode = doc.DocumentNode.ChildNodes["html"];
if (htmlNode == null)
{
    return; // no HTML tag -> not an HTML page
}

如您所见,我得到了content-type标头,然后检查会话是否来自 Google,然后检查标头值是否为text/html,如果是,则我将响应正文放入body变量中...

此时我放了一个断点来验证该body值,但它是空的(“”),除此之外,当我继续执行时,谷歌主页无论如何都会加载,如果我检查与 Fiddler 的会话,我可以正常看到响应正文.

我查看了谷歌,一无所获,我也检查了谷歌的每一个回复(不仅是文本/HTML),也没有发现任何帮助。

标签: c#fiddlerfiddlercore

解决方案


推荐阅读