Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.05.2016, 13:44   #1
fanat_96
Пользователь
 
Регистрация: 09.04.2016
Сообщений: 81
По умолчанию объединить xpath и авторизацию на сайте

Здравствуйте. Каким образом можно объединить авторизацию с парсером?

Авторизацию делаю так (но не уверен, что она рабочая)
Код:
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://www.rutracker.org/forum/login.php");
 request.Method = "POST";
string data = "login_username=логин&password=пароль&login=go";
byte[] byteData = Encoding.UTF8.GetBytes(data);
request.ContentLength = byteData.Length;
Stream stream = request.GetRequestStream();
stream.Write(byteData, 0, byteData.Length);
request.CookieContainer = new CookieContainer();
string response = new StreamReader(request.GetResponse().GetResponseStream()).ReadToEnd();
Затем работа парсера:
Код:
using (HttpClientHandler handler = new HttpClientHandler() { AllowAutoRedirect = true, AutomaticDecompression = System.Net.DecompressionMethods.GZip | System.Net.DecompressionMethods.Deflate })
                {
                    using (HttpClient client = new HttpClient(handler) { BaseAddress = new Uri(url) })
                    {
                        
                        HtmlAgilityPack.HtmlDocument HD = new HtmlAgilityPack.HtmlDocument();
                        HD.LoadHtml(client.GetStringAsync(complUrl).Result); //можно делать все асинхронно. 
                       var sizerut = HD.DocumentNode.SelectSingleNode("//tr[@class='row1']");//искомый элемент
                       }
                }
html
Код HTML:
<tr class="row1">
		<td style="width: 15%;">Торрент:</td>
		<td style="width: 70%; padding: 5px;">
						Зарегистрирован			&nbsp;<span title="Когда зарегистрирован">[ 04-Мар-14 19:15 ]</span>
						&nbsp;&middot;&nbsp;
			Скачан: 13333 раза		</td>
		<td style="width: 15%;" rowspan="4" class="tCenter pad_6">
						<p><a href="dl.php?t=4684472" class="dl-stub"><img src="//static.t-ru.org/templates/v1/images/attach_big.gif" alt="Скачать .torrent"></a></p>
			<p><a href="dl.php?t=4684472" class="dl-stub dl-link">Скачать .torrent</a></p>
						<p class="small">11&nbsp;KB</p>
			<p style="padding-top: 6px;"><input id="tor-filelist-btn" type="button" class="lite" style="width: 120px;" value="Список файлов"></p>		</td>
	</tr>
fanat_96 вне форума Ответить с цитированием
Старый 01.05.2016, 13:48   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

ну так загружайте страницу таким же методом как авторизуетесь.

и как я уже говорил, от вашей асинхронности тут нет смысла, читать про async/await
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 01.05.2016, 14:12   #3
fanat_96
Пользователь
 
Регистрация: 09.04.2016
Сообщений: 81
По умолчанию

Увы, но я понятия не имею каким образом можно загружать страницу таким образом.
fanat_96 вне форума Ответить с цитированием
Старый 01.05.2016, 14:24   #4
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Ну, бывает. Изучайте документацию по используемому HTTP клиенту + основы HTTP.

И либо изучите что такое async/await и прочее про асинхронность и для чего оно нужно, либо не используйте это.
HttpWebRequest или WebClient не требуют этого.
Смешивать все вместе не надо, выберите что-то одно.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
xpath не срабатывает fanat_96 C# (си шарп) 7 28.04.2016 23:46
Проснифферить авторизацию на сайте https://freebitco.in , чтобы потом аторизовываться программно Nugrom Общие вопросы Delphi 10 10.11.2014 20:16
[PHP] Написать авторизацию на сайте с движком vbulletin nibufep Фриланс 1 19.09.2014 21:09
XPath и атрибуты Luzifer Помощь студентам 1 30.07.2014 17:03
Как пройти авторизацию на сайте www.rmstat.ru через webbrowser oleobject Plexdeath Работа с сетью в Delphi 6 05.07.2010 10:12