Полученный в WebRequest сайт загружается не так, как оригинал - PullRequest
0 голосов
/ 01 сентября 2009

Я использую WebRequest для извлечения html-страницы из Интернета, а затем отображаю ее с помощью Response.Write.

Полученная страница отличается от оригинала в основном шрифтом и макетом.

Какие могут быть возможные причины и как это исправить?

Ответы [ 4 ]

1 голос
/ 01 сентября 2009

Удаленный сайт может просматривать User-Agent и обслуживать другой контент на основе этого.

Кроме того, вы должны сравнить HTML-код, который вы можете получить с удаленного сайта, с HTML-кодом, полученным при посещении сайта в браузере. Если они не отличаются, возможно, вам не хватает изображений и / или CSS и JavaScript из-за относительных путей, как уже предлагалось в другом ответе.

1 голос
/ 01 сентября 2009

Включает ли удаленный веб-сайт CSS, JavaScript или изображения?

Если это так, на любой из вышеперечисленных ресурсов есть ссылки с относительными ссылками (например, /javascript/script.js)?

Если это так, когда браузер получает HTML-код от вашего сервера, относительные ссылки (которые изначально были связаны с исходным сервером) теперь относятся к вашему серверу.

Вы можете исправить это, изменив HTML-код на использование абсолютных ссылок (например: http://www.server.com/javascript/script.js). Это сложнее, чем кажется: вам нужно поймать , , , , image и т. д. .

Более ограниченным решением было бы разместить фактические ресурсы на вашем сервере в той же структуре, что и на исходном сервере.

1 голос
/ 01 сентября 2009

Скорее всего, полученный вами HTML содержит относительные URL для загрузки изображений, таблиц стилей, скриптов. Эти URL не являются правильными для страницы, поскольку вы обслуживаете ее со своего сайта. Это можно исправить, преобразовав все относительные URL-адреса в абсолютные или добавив в заголовок HTML-тега BASE, указывающий на URL-адрес исходной страницы.

Имейте в виду, что использование ссылок на изображения и другие ресурсы считается плохой практикой. Исходному сайту может не понравиться то, что вы делаете.

1 голос
/ 01 сентября 2009

Причиной может быть то, что исходная HTML-страница содержит относительные (к исходному сайту) пути к файлам таблицы стилей, поэтому при отображении HTML-кода на вашем сайте он не может найти CSS.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...