c# - 某些网站 FiddlerCore 的响应正文为空
问题描述
我正在使用 Fiddler 核心进行一些测试,我能够拦截几乎所有站点的流量,但对于某些 HTTPS 站点,我得到空响应正文。
到目前为止,我已经找到了 2 个站点:
我已经测试了其他 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),也没有发现任何帮助。
解决方案
推荐阅读
- javascript - 显示变化描述时,Woocomerce 隐藏父描述
- c# - system.invalidcastexception:'无法转换类型'system.linq.enumerablequery的对象
- excel - 具有 4,000,000 行的 Excel
- c# - 如何在 Unity 2D 中更改四边形透明度?
- kubernetes - 如果 ActiveMQ Artemis 集群是 Kubernetes StatefulSet,HA 真的有用吗?
- r - 显示未存储在 R Shiny 应用程序内 www 文件夹中的 PDF 文件
- python - WARN 机器人框架中的测试结果
- exe - 在执行嵌入式安装程序之前,如何等待父 NSIS 安装程序完成?
- ios - 使用 unregisterForRemoteNotifications 从 PushKit 通知中取消注册
- android - 在 Android Kotlin 中使文本一一出现(又名打字机效果)