#c# #html #webclient
#c# #HTML #веб-клиент
Вопрос:
Я использую WebClient.DownloadString
для получения HTML-источника веб-страницы, но все, что я получаю в качестве возврата, это:
<html style="height:100%">
<head>
<META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW">
<meta name="format-detection" content="telephone=no">
<meta name="viewport" content="initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
</head>
<body style="margin:0px;height:100%">
<iframe id="main-iframe"
src="/_Incapsula_Resource?CWUDNSAI=41amp;xinfo=9-19309783-0 NNNY RT(1614802895891 28) q(0 -1 -1 -1) r(0 -1) B10(14,0,0) U18amp;incident_id=1309000160050658955-81390253115245577amp;edet=10amp;cinfo=0e000000b6efamp;rpinfo=0"
frameborder=0 width="100%" height="100%" marginheight="0px" marginwidth="0px">
Request unsuccessful. Incapsula incident ID: 1309000160050658955-81390253115245577
</iframe>
</body>
</html>
Но фактическое содержание страницы отсутствует. Что я сделал не так?
Комментарии:
1. Что вы подразумеваете под «фактическим контентом»? По-моему, это очень похоже на полноценный HTML-код.
2. Я полагаю, вы ожидали, что он загрузит iframe, нет, он этого не сделает. Он просто загружает любую заданную строку, он не анализирует HTML и не является интернет-браузером
3. Incapsula — это служба защиты от ddos, подобная cloudflare. Похоже, что он работает так, как должен, что фактически означает, что ваше приложение не является браузером, используемым человеком, и оно говорит вам уйти! Насколько сильно вы хотите это решить? К каким целям вы пойдете, чтобы победить Incapsula?
Ответ №1:
Ваш HTTP-запрос не удовлетворяет требованиям сервера, поэтому Incapsula пометил вас как подозрительного пользователя. Опубликованный вами ответ содержит полный текст веб-ответа. Я бы хотел убедиться, что вы предоставляете достаточно информации в запросе.
Некоторые вещи, которые нужно проверить, чтобы добавить к вашему HTTP-запросу, — это заголовки, такие как user agent, cookies и т. Д.