Очистка экрана веб-приложения - внутренняя ошибка сервера - PullRequest
0 голосов
/ 10 августа 2010

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

Когда я пытаюсь очистить экран, он возвращает ошибку при попытке выполнить веб-запрос. Ошибка «Удаленный сервер возвратил ошибку: (500) Внутренняя ошибка сервера.»

public void ScrapeScreen()
    {
        try
        {
            var url = textBox1.Text; 
            var request = WebRequest.Create(url);
            var response = request.GetResponse();
            var stream = response.GetResponseStream();
            var reader = new StreamReader(stream);
            var result = reader.ReadToEnd();
            stream.Dispose();
            reader.Dispose();
            richTextBox1.Text = result;
        }

        catch(Exception ex)
        {
            MessageBox.Show(ex.Message);
        }

   }

Есть идеи, как мне получить текст со страницы?

Ответы [ 2 ]

1 голос
/ 10 августа 2010

Некоторым сайтам не нравится пользовательский агент по умолчанию. Попробуйте изменить его на что-то реальное, например:

((HttpWebRequest)request).UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/533.4 (KHTML, like Gecko) Chrome/5.0.375.125 Safari/533.4"
0 голосов
/ 10 августа 2010

Сначала попробуйте это:

Запрос HttpWebRequest = (HttpWebRequest) WebRequest.Create (url);

Однако, если вы просто ищете текст и не выполняете POST-направление данных на сервер, вы можете посмотреть на класс webClient.Он больше напоминает реальный браузер и заботится о многих вещах заголовков HTTP, которые вам, возможно, придется настроить, если вы будете придерживаться класса HttpWebRequest.

...