Я тестирую ядро 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
, но оно пустое (""), рядом счто, когда я продолжаю выполнение, домашняя страница Google все равно загружается, и если я проверяю сеанс с Fiddler, я могу нормально видеть тело ответа.
Я посмотрел в Google и ничего не нашел, также я проверил каждый ответот гугл (не только текст / HTML) и не нашел ничего, что можеточь.