Ние пишем най-простия спамер за 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 методът е публичен
  • wall.delete- изтриване на публикация от стена на потребител или общност
  • Комбинирайки тези методи и бърникайки с тях, получихме тази проста процедура, която свързахме със събитието на таймераOnTimer:

    И нека опишем функциятаPars, с помощта на която, в процедурата по-горе, последният идентификатор на публикация се извлича от отговора от сървъра:

    В свойствата на таймера в блокаObject Inspectorна нашия Delphi задайте свойствотоIntervalна 60 000 милисекунди (1 минута). Това ще означава, че след стартиране на спамъра ще трябва да мине 1 минута, преди да се изпълни основният алгоритъм на програмата.

    След това създаваме събитие за щракване върху бутона „Старт“. Той ще стартира таймера при щракване, ако ключътaccess_tokenе получен предварително:

    В резултат на това, след като компилирате целия този код и стартирате програмата, можете да се насладите на резултата:

    Заключение

    Разбира се, това все още е много сурова версия на спамер. За пълноценна работа и нейното използване на постоянна основа, тя все още трябва да бъде финализирана, например:

      Организирайте работата на спамъра на безкраен таймер, така че публикацията да се публикува и изтрива в цикъл автоматично, а не чрез натискане на бутона "Старт" отново и отново.

    Опишете адекватното поведение на програмата, когато групата достигне дневния лимит за добавяне на 50 публикации на стената.

  • Имного повече.
  • Всъщност това е само урок, а програмата наистина е много проста. Можете да направите много функционални подобрения в него, за да го превърнете в наистина мощен инструмент. Но целта на нашия урок е да дадем пример за това как по принцип се извършва работа в Delphi с API на VKontakte за писане на такива програми.

    Готовият изходен код на спамера може да бъде изтеглен в прикачения файл към материала.