Небольшой парсер страницы VK.COM

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by CardQ, 14 Jan 2010.

  1. CardQ

    CardQ Banned

    Joined:
    27 Dec 2009
    Messages:
    5
    Likes Received:
    11
    Reputations:
    0
    Вот нечего было делать, и написал я небольшой парсер страницы контакта.

    Code:
    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Security.Policy;
    using System.Net;
    using System.Text.RegularExpressions;
    
    namespace VkontakteLibrary
    {
        public static class Vkontakte
        {
            private static string CreateQueryString(Url url,string email, string pass)
            {
                StringBuilder queryString = new StringBuilder();
                queryString.Append(url.Value);
                queryString.Append(@"?email=");
                queryString.Append(email);
                queryString.Append(@"&pass=");
                queryString.Append(pass);
                return queryString.ToString();
            }
    
            public static bool Create(string email, string pass)
            {
                string regexPattern = @"<div id='message' style='margin: 0'>Чтобы просматривать эту страницу, нужно зайти на сайт.</div>";
                string queryString=CreateQueryString(new Url(@"http://www.vkontakte.ru/login.php"),email,pass);
                WebClient webClient = new WebClient();
                string result=webClient.DownloadString(queryString);
                return Regex.Match(result, regexPattern,RegexOptions.Compiled|RegexOptions.IgnoreCase).Success;
            }
        }
    }


    В общем что делает код:

    Логинится на сайт vkontakte.ru через POST запрос используя login.php?email=&pass= (в эти поля вводятся данные например с текстбоксов, файла, etc...).После чего начинает парсить ответ сервера, если на странице написано "Чтобы просматривать эту страницу, нужно зайти на сайт." значит валид, если любая другая надпись значит не валид.Создаём файл например Vkontakte.cs и пихаем в свой проект, дальше вызываем его в коде таким образом:
    Code:
                if (Vkontakte.Create(textBox1.Text, textBox2.Text))
                {
                   MessageBox.Show("ВалидЭ!!11");
                }
                else
                {
                   MessageBox.Show("УГ!!11НЕВАЛИД!!1э");
                }
    

    Там где textBox1.Text идёт email, textBox2.Text - пасс.

    Лично я его использовал для программного фейка с внутренней авторизацией, вы его можете переписать под чекер, фейк, etc.
    Всем спасибо за внимание.
     
    3 people like this.
  2. GlooK

    GlooK Elder - Старейшина

    Joined:
    20 Apr 2007
    Messages:
    172
    Likes Received:
    53
    Reputations:
    10
    Лично мне, pascal-кодеру, непонятен язык на чем софт написан.
    Мейби укажешь?
     
  3. CardQ

    CardQ Banned

    Joined:
    27 Dec 2009
    Messages:
    5
    Likes Received:
    11
    Reputations:
    0
  4. flacs

    flacs Member

    Joined:
    28 Jan 2009
    Messages:
    81
    Likes Received:
    31
    Reputations:
    6
    C# (Microsoft Visual Studio 2007-2009)
     
  5. CardQ

    CardQ Banned

    Joined:
    27 Dec 2009
    Messages:
    5
    Likes Received:
    11
    Reputations:
    0
    Также написал оптимизированную библиотеку для акапчи, шлёт все капчи жрёт мало ресурсов, смаково всё.Мб выложу...Тоже на C#.
     
  6. scrat

    scrat кодер

    Joined:
    8 Apr 2007
    Messages:
    625
    Likes Received:
    541
    Reputations:
    3
    Создать объект webClient и вызвать из него пару методов любой дурак может. Что тут такого особого?

    К тому-же ты как-то очень глупо юзаешь Regex'ы, хотя можно обойтись обращениями к DOM-элементам.
     
  7. CardQ

    CardQ Banned

    Joined:
    27 Dec 2009
    Messages:
    5
    Likes Received:
    11
    Reputations:
    0
    По этому и небольшой=)
     
  8. scrat

    scrat кодер

    Joined:
    8 Apr 2007
    Messages:
    625
    Likes Received:
    541
    Reputations:
    3
    раз
    два
     
  9. W!z@rD

    W!z@rD Борец за русский язык

    Joined:
    12 Feb 2006
    Messages:
    973
    Likes Received:
    290
    Reputations:
    43
    вот если бы добавил APM.
    регулярки не правильно юзаешь, смысла в паттерне не вижу. Достаточно было обойтись методом Exists.
     
  10. CardQ

    CardQ Banned

    Joined:
    27 Dec 2009
    Messages:
    5
    Likes Received:
    11
    Reputations:
    0
    спс исправлю
     
    1 person likes this.