Коды ответа HTTP C#
Вот код внизу
List<int> j = new List<int>();
HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(result.SiteURL);
webRequest.AllowAutoRedirect = false;
HttpWebResponse response = (HttpWebResponse)webRequest.GetResponse();
j.Add((int)response.StatusCode);
Что я хочу сделать, это получить все коды ответов, разделить их (например, 2xx,3xx 4xx-5xx) и поместить их в разные списки. Потому что мне нужны их числа, например, сколько ответов 4xx или 200 ответов. Или есть другой способ сделать это?
result.SiteURL
URL для ответов. Проблема в том, что последняя строка кода не возвращает и ничего не получает. Что мне здесь не хватает?
редактировать: основная проблема в том, что все, что я пытаюсь, я получаю только 1 код ответа, и это в основном 200: ОК Но для youtube.com(ect) должно быть 74 OK(200) ответов, 1 No Content(204) ответа и 2 Moves Permanently(301) ответов в соответствии с https://tools.pingdom.com/. Как я собираюсь получить их?
1 ответ
Вы неправильно понимаете результат, показанный Pingdom.
Pingdom запрашивает веб-страницу так же, как браузер: он загружает саму страницу, а также все ссылки на ресурсы по странице: таблицы стилей, сценарии, изображения и т. Д.
Ваш код загружает только основную HTML-страницу, которая имеет большую доступность и всегда возвращает 200 OK.
Если вы хотите воспроизвести результаты pingdom, вам нужно проанализировать HTML-страницу и загрузить ресурсы страницы. Имейте в виду, что разбор HTML является нетривиальной задачей (производители браузеров прилагают немало усилий), поэтому вы можете подумать, стоит ли это вашего времени.