Получение HTML со страницы ASP.NET при обратной передаче - PullRequest
1 голос
/ 21 июля 2011

Я нашел несколько сообщений о получении HTML со страницы ASPX, в основном путем переопределения метода рендеринга, использования WebClient или создания HttpWebRequest.Все эти методы возвращают HTML-код страницы по мере ее загрузки, но я надеялся получить HTML-код после того, как пользователь ввел информацию.Цель этого заключается в том, чтобы я работал в ИТ-отделе и пытался создать библиотеку журналов, которая имеет перегрузку, которая, по сути, выполняет «очистку экрана» на странице, как только пользователь встречает исключение, таким образом я могу войти в систему.исключение, и создайте файл HTML в подкаталоге каталога журналов, который показывает страницу в точности так, как она была у пользователя, прежде чем нажать «отправить» или возникнет какая-то другая случайная ошибка, и добавьте «ID» к зарегистрированной ошибкесообщая всем, кто решает проблему, на какую страницу смотреть.

Я надеюсь, что предоставил достаточно информации, потому что действительно не знаю, с чего начать.

Кроме того, мы хотели бысделайте это через нашу собственную библиотеку, потому что наша библиотека журналов включена в нашу общую библиотеку, и многие из наших общих библиотечных функций используют наш класс журналирования.

Ответы [ 2 ]

2 голосов
/ 21 июля 2011

Хммм ...

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

Наивный подход:

Когда нажимает кнопку отправки, запускается событие JavaScript, которое кодирует DOM и передает его как переменную формы на сервер, или выполняет отдельный запрос AJAX сзакодированные данные в качестве параметра.(«Кодировать» в этом случае может быть так же просто, как захватывать document.innerHtml, но я не проверял.)

Это потенциально вводит много накладных расходов на каждую отправку формы, поэтомуЯ бы держал это вне производственного кода.

Я не уверен, зачем вам нужен отрендеренный HTML как часть вашего журнала исключений - я никогда не считал это необходимым для отладки на стороне сервера.

0 голосов
/ 21 мая 2013

Вы получаете HTML-код с сайта. Вы можете использовать код, подобный этому.

string urlAddress = "http://www.jobdoor.in";

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(urlAddress);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
if (response.StatusCode == HttpStatusCode.OK)
{
  Stream receiveStream = response.GetResponseStream();
  StreamReader readStream = null;
  if (response.CharacterSet == null)
  readStream = new StreamReader(receiveStream);
  else
  readStream = new StreamReader(receiveStream, Encoding.GetEncoding(response.CharacterSet));
  string data = readStream.ReadToEnd();
  response.Close();
  readStream.Close();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...