C # WebClient.DownloadString не возвращает весь исходный код веб-страницы

#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 и т. Д.