Устали каждый раз писать куки и прокси в запросе?
Специально для этого в движке есть функция VkRequest.StaticRequest(). Она делает то же самое, что и обычная функция Request, но при этом не нужно указывать прокси и куки. Они берутся из специальных свойств, которые подразделяются на 2 набора. Первый:
- GlobalProxy
- GlobalCookies
- GlobalHeaders
Значения этих свойств будут использоваться во всех вызовах функции StaticRequest. То есть достаточно один раз установить свойства
VkRequest.GlobalProxy = ...; VkRequest.GlobalCookies = new CookieCollection();
И просто пользоваться функцией StaticRequest, указанный прокси будет использоваться автоматически и куки будут передаваться между всеми запросами.
При использовании многопоточности часто бывает, что нужны отдельный прокси и куки для каждого потока. На этот случай есть второй набор свойств:
- ThreadProxy
- ThreadCookies
- ThreadHeaders
Это особые ThreadStatic cвойства. Это означает, что для каждого потока это свойство имеет разное значение. В остальном они работают так же как и предыдущий набор свойств. ThreadProxy и ThreadCookies имеют больший приоритет, чем свойства из предыдущего набора. То есть если указать GlobalProxy и ThreadProxy, то движок будет использовать ThreadProxy. Заголовки GlobalHeaders и ThreadHeaders работают немного по другому, движок объединяет оба эти набора в один. При этом если встречается 2 заголовка с одинаковым именем, то используется заголовок из набора ThreadHeaders.
Теперь вы можете использовать эти свойства и писать еще меньше кода
. Не забудьте скачать последнюю версию движка, сегодня вышло обновление.
Урок 8 — Как залить картинку
Сегодня мы научимся заливать картинки. На большинстве серверов для этого используется формат multipart/form-data, который является довольно громоздким для написания вручную. Благодаря Viking.Engine загрузка картинок происходит так же просто как и обычный запрос.
Движок теперь поддерживает HTTPS!
Вышла новая версия Viking.Engine, теперь можно делать https запросы! Для того чтобы этим воспользоваться достаточно просто сделать запрос к https странице, все работает само. При этом только следует учесть, что далеко не все HTTP проски могут работать с HTTPS, так что советую для этого использовать соксы.
Еще появилась возможность жаловаться на неправильно разгаданную капчу. Делается это вот так:
string captchaId; VkRequest.PostCaptcha("http://website.com/captcha?sid=234fre", out captchaId); // Узнаем что капча неправильная VkRequest.ReportBadCaptcha(captchaId);
И последнее, что хочу отметить – новый параметр запроса: FollowRedirects, который позволяет автоматически переходить по редиректам.
VkRequest.Request("http://vkontakte.ru/", FollowRedirects: true);
Все подробности про новую версию можно узнать на странице движка.
Вышла новая версия движка и help!
На самом деле новые версии выходили вместе с каждым уроком, и из-за этого могла возникать некоторая путанница. Теперь все будет подругому – появилась страница с историей версий, на которой будут публиковаться все новые версии с указанием изменений. А еще теперь к движку можно скачать помощь и XML-документацию. К сожалению, я пока что описал далеко не все классы, но помощь тоже будет обновляться и современем станет полной. Для тех кто не знает: XML-документация нужна для того, чтобы Visual Studio могла выводить всплывающие подсказки к функциям движка. Чтобы она работала просто киньте .xml файл в папку к .dll
Урок 7 – работаем с почтой
Зачастую чтобы зарегистрироваться на каком-то сайте нужно выполнить активацию по почте: зайти на свой ящик, найти там письмо со ссылкой и перейти по ней. Сегодня мы научимся работать с почтой через протокол POP3. Этот протокол используют все известные почтовые клиенты и он довольно прост в обращении.
Читать далее…
Урок 6 — парсим HTML
Часто нам бывает нужно вытащить из веб-страницы какую-то информацию, например профиль из социальной сети. Многие до сих пор делают это с помощью регулярных выражений (или вообще с помощью поиска подстроки). В простейших случаях это работает, но в целом подход неправильный. Тут мне сразу же вспоминается известное обсуждение на Stackoverflow. Кстати говоря, полностью спарcить HTML с помощью регулярных выражений невозможно в принципе, т.к. это языки разных уровней в иерархии Хомского. К счастью в наш движок уже встроен парсер HTML, остается только им воспользоваться. И в этой статье я собираюсь показать как это делается на примере профиля Павла Дурова ВКонтакте. Читать далее…
Урок 5 – продвинутый регер rambler.ru.
На этот раз мы будем учиться на примере более серьезной программы, которую, например, можно продать и на полученные деньги пойти купить себе сникерс
. Это будет усовершенствованный регер почты rambler.ru, быстрый, многопоточный, с поддержкой антигейта и всех видов проксей. Программа эта более длинная чем предыдущие, поэтому я не буду объяснять как работает весь исходник, а расскажу только про важные части. Остальное в основном связано с работой интерфейса и можно понять просто глядя на код. Читать далее…
Урок 4 – Накрутчик опросов.
На этот раз мы напишем накрутчик опросов. На его примере мы научимся двум очень важным вещам — многопоточности и использованию прокси-серверов. Без этих вещей невозможно делать массовые рассылки. После того как вы освоите этот и следующий урок (он будет посвящен разгадыванию капчи с помощью antigate), уже можно будет писать простые программы. А дальше дело за опытом и практикой. Читать далее…
Урок 3 – mail регер rambler.ru.
Сегодня мы напишем регистратор почты на rambler.ru. Этот пример поможет научиться использовать сниффер для анализа запросов, которые посылает браузер. А еще мы научимся скачивать картинки и разгадывать капчу. К тому же на этот раз у нас будет windows-приложение, а не консольное. Итак, поехали. Читать далее…
Урок 2 – парсер прокси.
Ну что, думаю пора уже создать первый проект. Это будет парсер прокси. С его помощью мы научимся на практике делать первые запросы и заодно увидим как применяются простые регулярные выражения. Для примера мы будем собирать прокси с сайта www.socks24.org. Читать далее…