Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
41 / 37 / 9
Регистрация: 01.02.2014
Сообщений: 825

Авторегистрация mail.ru

19.10.2014, 11:27. Показов 3717. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В общем отловил запрос, написал программу которая отправляет post запрос на сервер. Но беда. Не регистрирует. Кто готов помочь, ознакомьтесь:
Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Net;
using System.IO;
using xNet.Net;
using System.Text.RegularExpressions;
using xNet.Text;
 
 
 
namespace mail_steamReg
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        string[] parsinfo = new string[14];
        public string GetDescription(string html, string ysl, bool a)
        {
            HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
            doc.OptionFixNestedTags = true; //Опционально, если требуется
            doc.Load(new StringReader(html));
            HtmlNode node = doc.DocumentNode.SelectSingleNode(ysl);
            if (a == true)
                return node.OuterHtml;
            else
                return node.InnerHtml;
        }
        
        private void SomeMethod()
        {
            HttpRequest req = new HttpRequest();
            HttpResponse reqs;
            req.UserAgent = HttpHelper.RandomChromeUserAgent();
            reqs = req.Get("http://e.mail.ru/signup?from=main");
            string reqss = reqs.ToString();
            
            //*-------------------------------
           
            parsinfo[0] = reqss.Substring("<label class=\"sig1\" for=\"","\">Имя</label>"); //имя
            parsinfo[1] = reqss.Substring("<div class=\"vmi tac mb14 t0 vt  qc-lastname-row \" onclick=\"return {};\">", "Фамилия</label>").Substring("<label for=\"","\""); //фамилия
            parsinfo[2] = reqss.Substring("<select name=\"", "\" class=\"fll days mt0 mb0 qc-select-day\" style=\"width: 80px; margin-right: -3px;\">"); //др
            parsinfo[3] = reqss.Substring("Декабрь</option>\n            </select>\n         <select name=\"", "\" class=\"flr years mt0 mb0 qc-select-year\" style=\"width: 77px;\">"); //год р
            parsinfo[4] = reqss.Substring("<label for=\"man1\"><input type=\"radio\" class=\"vtm\" name=\"", "\" value=\"1\" id=\"man1\">"); //пол
            parsinfo[5] = reqss.Substring("onclick=\"return {'type': 'Login'};\">\n     <label for=\"", "\" class=\"sig1\">Почтовый ящик</label>"); //логин
            parsinfo[6] = reqss.Substring("onclick=\"return {'type': 'Password'};\">\n      <label for=\"", "\" class=\"sig1\">Пароль</label>"); //пасс
            parsinfo[7] = reqss.Substring("<div class=\"vmi tac mb34 t0  qc-passverify-row \" id=\"signRePassword\">\n      <label for=\"", "\" class=\"sig1\">Повторите пароль</label>"); //пасс
            parsinfo[8] = reqss.Substring("class=\"sig1\">Свой вопрос</label>\n               <span class=\"sig2\"><input id=\"", "\" name"); //свой вопрос
            parsinfo[9] = reqss.Substring("<div class=\"vmi tac mb14 t0 vt  qc-answer-row \" onclick=\"return {requiredFieldForSignupWithSecret: true};\">\n                <label for=\"", "\" class=\"sig1\">Ответ</label>"); //ответ
            parsinfo[10] = reqss.Substring("<div class=\"vmi tac mb34 t0 vt qc-mail-row\" onclick=\"return {'type': 'Email', 'noreq': true};\">\n           <label for=\"", "\" class=\"sig1\">Дополнительный e-mail</label>"); //емаил доп
            parsinfo[11] = reqss.Substring("<input id=\"captchaCode\" class=\"inPut form__captcha-old__input\" type=\"text\" name=\"", "\" value=\"\""); //капча ключ
            parsinfo[12] = reqss.Substring("<input type=\"hidden\" name=\"x_reg_id\" value=\"", "\"/>\n <input type=\"hidden\" name=\"security_image_id\""); //xregid
            parsinfo[13] = reqss.Substring("<input type=\"hidden\" name=\"ID\" value=\"", "\"/>\n   <input type=\"hidden\""); //id
            textBox1.Text = parsinfo[0];
            textBox1.Text += Environment.NewLine + parsinfo[1] + Environment.NewLine + parsinfo[2] + Environment.NewLine + parsinfo[3] + Environment.NewLine + parsinfo[4] + Environment.NewLine + parsinfo[5] + Environment.NewLine + parsinfo[6] + Environment.NewLine + parsinfo[7] + Environment.NewLine + parsinfo[8] + Environment.NewLine + parsinfo[9] + Environment.NewLine + parsinfo[10] + Environment.NewLine + parsinfo[11] + Environment.NewLine + parsinfo[12] + Environment.NewLine + parsinfo[13];
            //*-------------------------------
            WebClient client = new WebClient();
            client.Headers.Add(HttpRequestHeader.UserAgent, HttpHelper.RandomChromeUserAgent());
            byte[] data = client.DownloadData("http://c.mail.ru/c/2?r=1413342726768.jpeg");
            using (FileStream st = new FileStream("captcha.jpeg", FileMode.OpenOrCreate)){
            st.Write(data, 0, data.Length);
            Bitmap btm = new Bitmap(st);
            pictureBox1.Image = btm;
            }
        }
        
        private void button1_Click(object sender, EventArgs e)
        {
            using (var request = new HttpRequest())
            {
                request.CharacterSet = Encoding.GetEncoding(1251);
                request.Cookies = new CookieDictionary();
                request.UserAgent = HttpHelper.RandomChromeUserAgent();
                request.AddParam("signup_b", "1").AddParam("sms", "1").AddParam("no_mobile", "1").AddParam("Signup_utf8", "1").AddParam("LANG", "ru_RU").AddParam("ID", parsinfo[13]).AddParam("Count", "1").AddParam("back", "").AddParam("browserData", "screen--`availWidth`:`1680`,`availHeight`:`1010`,`availTop`:`0`,`availLeft`:`0`,`pixelDepth`:`24`,`colorDepth`:`24`,`width`:`1680`,`height`:`1050`\nnavigator--`doNotTrack`:inaccessible,`onLine`:`true`,`language`:`ru`,`userAgent`:`Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.125 YaBrowser/14.8.1985.12084 Safari/537.36`,`product`:`Gecko`,`platform`:`Win32`,`appVersion`:`5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.125 YaBrowser/14.8.1985.12084 Safari/537.36`,`appName`:`Netscape`,`appCodeName`:`Mozilla`,`maxTouchPoints`:`0`,`vendorSub`:``,`vendor`:`Yandex`,`productSub`:`20030107`,`cookieEnabled`:`true`\nflash--`version`:`15.0.0`").AddParam("Mrim.Country", "24").AddParam("Mrim.Region", "25").AddParam("x_reg_id", parsinfo[12]).AddParam("security_image_id", "").AddParam("geo_countryId", "24").AddParam("geo_cityId", "25").AddParam("geo_regionId", "999999").AddParam("geo_country", "").AddParam("geo_place", "").AddParam("lang", "ru_RU").AddParam("new_captcha", "1").AddParam(parsinfo[0], "name").AddParam(parsinfo[1], "pastname").AddParam(parsinfo[2], "11").AddParam("BirthMonth", "4").AddParam(parsinfo[3], "1985").AddParam("your_town", "Москва, Россия").AddParam(parsinfo[4], "1").AddParam(parsinfo[5], textBox3.Text).AddParam("RegistrationDomain", "mail.ru").AddParam(parsinfo[6], "1234qwe").AddParam(parsinfo[7], "1234qwe").AddParam("SelectPhoneCode", "7").AddParam("RemindPhone", "").AddParam("RemindPhoneCode", "7").AddParam("Password_Question", "Номер телефона друга или подруги").AddParam(parsinfo[8], "").AddParam(parsinfo[9], "qwe").AddParam(parsinfo[10], "").AddParam(parsinfo[11], textBox2.Text);
 
                string content = request.Post("http://e.mail.ru/reg?from=main").ToString();
                textBox1.Text = content;
            }
 
        }
 
        private void button2_Click(object sender, EventArgs e)
        {
            SomeMethod();
        }
    }
}

П.с это весь код.
На форме 3 текстбокса, пикчабокс и 2 батона.

Добавлено через 1 минуту
Возможность отблагодарить(Не только +) присутствует.

Добавлено через 1 минуту
п.сс Студия у меня 12. И за явные ошибки не ругайте) xNet использую 1 раз, еле разобрался

Добавлено через 1 час 50 минут
Проблема решена. Вместо прямой авторизации на mail.ru, стало использование get запроса на мобильную версию.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
19.10.2014, 11:27
Ответы с готовыми решениями:

ASP CDOSYS Mail , и CDONTS mail , The server rejected one or more recipient addresses
Привет, техника, Win Server 2003 web edition , IIS 6.0 не могу настроить почту, Как понял в 2003 CDONTS был заменен на CDOSYS , . ...

Как отправить простое письмо на E-Mail (mail.ru)
Привет, скажите как отправить письмо на определенный email ? Пользователь который отправляет находится на mail.ru отправляется тоже...

Delphi и авторегистрация
Всем привет.. Хотел написать программу для авто регистрации на сайте: http://mmogame.ru/user/register/ Но столкнулся с проблемой, а...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
19.10.2014, 11:27
Помогаю со студенческими работами здесь

Авторегистрация в досках
Добрый день Есть необходимость прогнать свой сайт по доскам объявлений, естественно лучше автоматизировать этот процесс. Я только за...

Авторегистрация по истечению таймера
Предыдущие тема умерла, никто так и не ответил. Видно не так сформулировал вопрос. Что имеем: российскую киберспотривную лигу, на которой...

Авторегистрация allsubmiter-ом и выбор подкатегори
При автоматической регистрации allsubmiter-ом, программа проводит выбор на уровне общих категорий. На этом же уровне и проводиться подача...

Авторегистрация для сайт twitch.tv
Добрый день, пишу бота для авторегистрации на сайте твича, но столкнулся с небольшой проблемой, не могу отследить данные регистрации,...

Обмен УТ - БП. Авторегистрация запрещена, но все документы регистрируются
Всем привет. Подскажите пожалуйста такую вещь, что-то не нарыл ничего гуглом. Обмен УТ 10.3 --&gt; БП 2.0. Односторонний, через...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru