Мне тут посоветовали вынести пост отсюда в отдельную тему. Сделал за 15 минут многопоточный постер на стены групп вконтакте с рандомизацией сообщений. В файл с группами кладутся только айдишники. Работает от 1 аккаунта и без антигейта и проксей. Но все это очень легко добавить. Выкладываю в качестве примера, как просто пишется подобный софт. Если заинтересовала библиотека подробнее можно почитать в блоге. Архив с программой и исходником: скачать Сам исходник: PHP: using ... namespace VkWallPoster { public class Job : JobBase { public static string Login { get; set; } public static string Password { get; set; } [PropertyDescription(DefaultValue="clubs.txt")] public static string ClubFile { get; set; } [PropertyDescription(Multiline = true, DefaultValue = "Добрый {день|вечер}")] public static string Message { get; set; } MessageBuilder msg = new MessageBuilder(Message, MessageBuilderType.Random); ResourceManager<string> clubs = new ResourceManager<string>(ClubFile); public override void StartWork() { Request(String.Format(@"http://login.vk.com/?act=login&q=1&al_frame=1&from_host=vk.com&email={0}&pass={1}", Login, Password.UrlEncode()), FollowRedirects: true, cookies: GlobalCookies); } public override void DoWork() { var club = clubs.Pop(); var hash = Request("http://vk.com/club" + club).Content.Match(@"post_hash"":""(\w+)").GetGroup(1); var result = Request(String.Format("http://vk.com/al_wall.php?act=post&al=1&type=all&hash={0}&to_id=-{1}&Message={2}", hash, club, msg.GetNext().UrlEncode())).Content.VkSplit()[4]; Log("club{0} - {1}", club, result == "0" ? "success" : "error " + result); } } }
Заказчиков? Я написал это нахаляву в качестве примера чуваку, который спрашивал на форуме про постер. Специально все упростил, чтобы новичкам было проще разобраться. Можешь написать лучше? Тогда исходники в студию. Или не надо трепать языком.