Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   Небольшой парсер страницы VK.COM (https://forum.antichat.xyz/showthread.php?t=170941)

CardQ 15.01.2010 00:00

Небольшой парсер страницы VK.COM
 
Вот нечего было делать, и написал я небольшой парсер страницы контакта.

Код:

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 и пихаем в свой проект, дальше вызываем его в коде таким образом:
Код:

            if (Vkontakte.Create(textBox1.Text, textBox2.Text))
            {
              MessageBox.Show("ВалидЭ!!11");
            }
            else
            {
              MessageBox.Show("УГ!!11НЕВАЛИД!!1э");
            }


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

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

GlooK 15.01.2010 00:12

Лично мне, pascal-кодеру, непонятен язык на чем софт написан.
Мейби укажешь?

CardQ 15.01.2010 00:13

C#

flacs 15.01.2010 00:16

C# (Microsoft Visual Studio 2007-2009)

CardQ 15.01.2010 00:29

Также написал оптимизированную библиотеку для акапчи, шлёт все капчи жрёт мало ресурсов, смаково всё.Мб выложу...Тоже на C#.

scrat 15.01.2010 00:49

Создать объект webClient и вызвать из него пару методов любой дурак может. Что тут такого особого?

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

CardQ 15.01.2010 01:02

Цитата:

Сообщение от scrat
Создать объект webClient и вызвать из него пару методов любой дурак может. Что тут такого особого?

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

По этому и небольшой=)

scrat 15.01.2010 01:08

Цитата:

Сообщение от CardQ
По этому и небольшой=)

раз
два

W!z@rD 15.01.2010 07:35

вот если бы добавил APM.
регулярки не правильно юзаешь, смысла в паттерне не вижу. Достаточно было обойтись методом Exists.

CardQ 15.01.2010 14:38

Цитата:

Сообщение от W!z@rD
вот если бы добавил APM.
регулярки не правильно юзаешь, смысла в паттерне не вижу. Достаточно было обойтись методом Exists.

спс исправлю


Время: 11:03