Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Затянуть выполненную web-страничку 
:(
    Опции темы
Bladerender
Дата 11.6.2011, 14:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 207
Регистрация: 19.7.2007

Репутация: нет
Всего: нет



Задача затянуть страничку с выполненными скриптами. Что я имею ввиду. Что бы все скрипты, JQuery и т.д. были выполенны, все таблички заполненны и т.д. Как я сейчас затягиваю. 

Код

public string LoadPage(string url,WebProxy proxy)
        {
            //timeOut = 0;
            string result = String.Empty;
            WebRequest request = WebRequest.Create(url);
    
            request.Proxy = proxy;
            //request.Timeout = 601;
            WebResponse response = null;

                try
                {
                    response = request.GetResponse();
                }

                catch (WebException e)
                {
                    Console.WriteLine("Exception:  " + e.Message);
                    //OnHTMLRequestError(this,e.Message);
                    return "";
                    //Thread.Sleep(1000);
                }

                catch (Exception e)
                {
                    Console.WriteLine("Exception:  " + e.Message);
                    //OnHTMLRequestError(this,e.Message);
                    return "";
                    //Thread.Sleep(1000);
                }

                //OnHTMLRequestStatusChange(this,"Download complete");


                Stream stream = response.GetResponseStream();
            
                try
                {
                    StreamReader sr = new StreamReader(stream, Encoding.UTF8);
                    string htmlPage = sr.ReadToEnd();
                    result = htmlPage;
                    //OnHTMLRequestStatusChange(this,"Stream succesfully readed");
                }
                catch (Exception e)
                {
                    //OnHTMLRequestError(this, e.Message);
                    return "";
                }

            //OnHTMLRequestOK(this, result);
            //timeOut = request.Timeout;
            return result;
        }



Страничка то затягивается, но то что затянулось я делаю просмотреть как html и вижу что на странице есть только скелет и нету данных.
Т.е. я имею страницу, в которой куче скриптового кода и не сгенерированы динамические данные. Открываю ту же страничку в Firefox с помощью firebug, то там уже данные. Пролейте свет на этот вопрос. 
PM MAIL   Вверх
wester
Дата 11.6.2011, 14:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 675
Регистрация: 27.2.2009

Репутация: 4
Всего: 13



Bladerender, 
сниффер ничего интересного не показывает ?
PM MAIL   Вверх
Bladerender
Дата 11.6.2011, 14:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 207
Регистрация: 19.7.2007

Репутация: нет
Всего: нет



Ну типа того. Только это обычный паучок, который на нашем корпоративном блоге инфу берет. Сколько этим классом пользовался, ни разу таких проблем не было...

PS: Через WebClient.DodnloadString() тоже самое...

Это сообщение отредактировал(а) Bladerender - 11.6.2011, 14:52
PM MAIL   Вверх
wester
Дата 11.6.2011, 15:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 675
Регистрация: 27.2.2009

Репутация: 4
Всего: 13



Bladerender, 
не, я в том смысле что показывает сниффер при работе с сайтом через браузер, и через программу. Должны быть какие - то различия.
Как вариант использовать контрол WebBrowser.
PM MAIL   Вверх
DenWPF
Дата 11.6.2011, 16:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1659
Регистрация: 26.9.2009

Репутация: нет
Всего: 1



Или подключайте интерпретатор javascript.
PM MAIL   Вверх
Voyager
Дата 11.6.2011, 23:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 532
Регистрация: 8.2.2005

Репутация: 3
Всего: 18



Нужен WebBrowser.
PM   Вверх
Bladerender
Дата 14.6.2011, 18:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 207
Регистрация: 19.7.2007

Репутация: нет
Всего: нет



WebBrowser попробовал. Сайт говорит что не поддерживает этот браузер (типа старая версия). Попробовал просто через експлорер - такая же хрень. Установил на комп восьмерку. Через браузер начало нормально показывать, но через компонент WebBrowser в коде все равно меседж что браузер старый. Может мне нужно как-то заюзать dll именно нового браузера? Как это сделать?
PM MAIL   Вверх
jonie
Дата 14.6.2011, 18:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 22
Всего: 118



веббраузер да, скорее всего + скрипт на javascript-е, который будет печатать DOM дерево и вот этот результат уже юзать..
печатать как-то так http://www.lemoda.net/javascript/dump-dom/dump-dom.html


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0462 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.