Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > .NET > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 19.12.2012, 22:28   #31
qwq
Форумчанин
 
Регистрация: 05.11.2009
Сообщений: 96
Репутация: 10
По умолчанию

Цитата:
Сообщение от Reskov Посмотреть сообщение
Пс про Xpath почитать можно в интернете и еще в хроме есть кнопочка copy xpath для ленивых)
Спасибо большое, буду разбираться.
P.S. пользуюсь Opera
qwq вне форума   Ответить с цитированием
Старый 24.12.2012, 13:00   #32
qwq
Форумчанин
 
Регистрация: 05.11.2009
Сообщений: 96
Репутация: 10
По умолчанию

Люди, можете помочь с синтаксисом? Пытаюсь получить Xpath
Код:
<div id="balancediv"><script src="http://click.uh.ru/balance.php?key=1076311487131703895256924051478539"></script></div>
а в итоге получаю ошибку
"В экземпляре объекта не задана ссылка на объект."
вот как я делаю
Код:
var node = doc.DocumentNode.SelectSingleNode("//*[@id='balancediv']/following-sibling::script");
в каком месте я ошибся?
может есть сервисы позволяющие получить Xpath. в Хроме пробовал, но у меня нет кнопки copy xpath. Может плагин ставить надо?
делал по аналогии с
Код:
var node=doc.DocumentNode.SelectSingleNode("//*[@id='article_comment']/following-sibling::script");
в 30 посте, за что Reskov-у отдельное спасибо
qwq вне форума   Ответить с цитированием
Старый 24.12.2012, 16:19   #33
Reskov
Форумчанин
 
Аватар для Reskov
 
Регистрация: 17.12.2008
Сообщений: 250
Репутация: 76
По умолчанию

Цитата:
following-sibling::script
Этот Xpath значит следующий элемент на том же уровне с именем script. У вас вложенный child.
попробуйте такой //*[@id='balancediv']/script[1]

Вот где искать Copy Xpath в Chrome


Проверить работоспосбность можно в в консоле (клавиша F12) Chrome
$x("//*[@id='balancediv']/script[1]")
Reskov вне форума   Ответить с цитированием
Старый 24.12.2012, 17:03   #34
qwq
Форумчанин
 
Регистрация: 05.11.2009
Сообщений: 96
Репутация: 10
По умолчанию

Спасибо, Reskov, очередной раз помогли. а вот Хром огорчил, , у меня нет такой кнопочки. Версия самая последняя.
qwq вне форума   Ответить с цитированием
Старый 25.12.2012, 11:30   #35
qwq
Форумчанин
 
Регистрация: 05.11.2009
Сообщений: 96
Репутация: 10
По умолчанию

Народ, посмотрите где ошибся?
Код:
HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
            doc.LoadHtml(txt);
            var node = doc.DocumentNode.SelectSingleNode("//*[@id='article_comment']/following-sibling::script");            
            string nod = node.GetAttributeValue("src", "");
//до этого момента все отрабатывает правильно, ссылку получаю

            webreq = (HttpWebRequest)HttpWebRequest.Create(nod);            
            webreq.Proxy = new WebProxy("127.0.0.1", 8888);
            //webreq.UserAgent = "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11";
            webreq.AllowAutoRedirect = true;
            webreq.ContentType = "application/x-www-form-urlencoded";
            webreq.CookieContainer = new CookieContainer();
            webreq.CookieContainer = next_cc1;
            webresp = (HttpWebResponse)webreq.GetResponse();
            stream = new StreamReader(webresp.GetResponseStream(), Encoding.GetEncoding("UTF-8"));
//запрос тоже отрабатывает нормально

            richTextBox1.Text = stream.ReadToEnd();// здесь я получаю пустоту
Просканировал все сниффером и оказалось что сервер в ответ ничего не присылает.

Когда делал запрос на проверку боланса, получал ответ.
И тут и там все находится в скрипте, но в случае с балансом все работает, а с получением ссылок в ответ пустота.
qwq вне форума   Ответить с цитированием
Старый 26.12.2012, 15:01   #36
qwq
Форумчанин
 
Регистрация: 05.11.2009
Сообщений: 96
Репутация: 10
По умолчанию

Вопрос решен, нужно добавлять Referer
qwq вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C# созранить изображение из потока (HttpWebRequest HttpWebResponse) qwq C# (си шарп) 4 09.12.2012 19:17
Доработать две программы, в которых идёт работа с классами HttpWebRequest и HttpWebResponse. goodwen Фриланс 0 13.12.2011 14:19
Проблема с обращением к другим сайтам через классы HttpWebRequest и HttpWebResponse. goodwen C# (си шарп) 0 12.12.2011 22:41
Проблема с HttpWebRequest и HttpWebResponse 3dgraph Общие вопросы .NET 2 15.07.2009 11:20
HttpWebRequest и HttpWebResponse Bbo Общие вопросы .NET 1 14.05.2009 15:51


03:51.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.