Ние пишем най-простия спамер за VKontakte в Delphi
Всеки ден в редиците на програмистите има попълване. Някой винаги е искал да направи това и внезапно реши, някой внезапно реши да промени сферата си на дейност и да учи програмиране, а някой се нуждае от това, например, за да изпълнява служебните си задължения. По един или друг начин винаги е по-лесно да се учите от готови примери, когато всички най-трудни въпроси са научени за вас и ви е представен урок, изложен в доста опростена форма. Това е урокът за вас днес.
Целта на урока
Целта на този урок е да се напише най-простата програма за VKontakte, която минута след стартирането ще публикува публикация в посочената общност от името на администратора, като изтрива предишната публикация, ако има такава.
Софтуерът Embarcadero RAD Studio сDelphi XE6на борда е използван за написването на тази програма. Можете да използвате този софтуер или всяка друга версия.
Процесът на създаване на спамър се състои в писане на код на няколко етапа, всеки от които пише част от спамъра. Урокът предполага, че вече имате основни познания по езика за програмиране Delphi и е насочен по-скоро към демонстриране как да работите с API на VKontakte. Тук няма нищо кардинално сложно, така че просто следвайте инструкциите.
-
Стартираме Delphi, създаваме нов проект и добавяме към формуляра полетата, необходими за най-простия спамер:
Следните параметри бяха включени в заявката за получаване на токена за достъпaccess_tokenв процедурата по-горе:
Всички заявки към VKontakte трябва да се правят чрез защитена връзка. Следователно е наложително да свържете компонентитеHTTPиIdSSLIOHandlerSocketOpenSSL, както и да поставите файловете на dll библиотекитеssleay32.dllиlibeay32.dllако не са там.
-
wall.get- Вземете публикации от стена на потребител или общност
Необходими параметри:
- owner_id– ID на общността VKontakte, чиито публикации на стената трябва да получите
- access_token– маркерът за достъп не е задължителен тук, т.к wall.get методът е публичен
Комбинирайки тези методи и бърникайки с тях, получихме тази проста процедура, която свързахме със събитието на таймераOnTimer:
И нека опишем функциятаPars, с помощта на която, в процедурата по-горе, последният идентификатор на публикация се извлича от отговора от сървъра:
В свойствата на таймера в блокаObject Inspectorна нашия Delphi задайте свойствотоIntervalна 60 000 милисекунди (1 минута). Това ще означава, че след стартиране на спамъра ще трябва да мине 1 минута, преди да се изпълни основният алгоритъм на програмата.
След това създаваме събитие за щракване върху бутона „Старт“. Той ще стартира таймера при щракване, ако ключътaccess_tokenе получен предварително:
В резултат на това, след като компилирате целия този код и стартирате програмата, можете да се насладите на резултата:
Заключение
Разбира се, това все още е много сурова версия на спамер. За пълноценна работа и нейното използване на постоянна основа, тя все още трябва да бъде финализирана, например:
-
Организирайте работата на спамъра на безкраен таймер, така че публикацията да се публикува и изтрива в цикъл автоматично, а не чрез натискане на бутона "Старт" отново и отново.
Опишете адекватното поведение на програмата, когато групата достигне дневния лимит за добавяне на 50 публикации на стената.
Готовият изходен код на спамера може да бъде изтеглен в прикачения файл към материала.