Регистрация Главная Сообщество
Сообщения за день Справка Регистрация

пример работы с прокси

-

Вопросы и ответы, обсуждения

- Ваши вопросы по C# только в данном разделе

Ответ
 
Опции темы
Старый 25.08.2012, 00:51   #1
Заблокирован
 Сержант
Аватар для [Na`Vi]DendI
 
[Na`Vi]DendI на правильном пути[Na`Vi]DendI на правильном пути
Регистрация: 06.06.2012
Сообщений: 131
Популярность: 102
Сказал(а) спасибо: 141
Поблагодарили 131 раз(а) в 78 сообщениях
Отправить сообщение для [Na`Vi]DendI с помощью Skype™
 
По умолчанию пример работы с прокси

Такую тему когда-то создавал но так и не понял...
Дайте пожалуйста пример,что бы программа несколько раз переходила на сайт и при этом каждый раз меняла прокси на следующий из списка,если проксей к примеру 2 а запросов 3 то что бы она брала всё сначала,спасибо кто поможет,если ответ будет стоющим то готов заплатить.
  Ответить с цитированием
Старый 25.08.2012, 02:11   #2
 Сержант
Аватар для Yukikaze
 
Yukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядом
Регистрация: 01.10.2011
Сообщений: 128
Популярность: 5723
Сказал(а) спасибо: 25
Поблагодарили 174 раз(а) в 105 сообщениях
 
По умолчанию Re: пример работы с прокси

Код:
    class Program
    {
        private const int MaxThread = 5; // максимальное кол-во потоков
        private static Queue<string> proxyes; //глобальная очередь проксей
        private static readonly Object sync = new object(); //объект для синхронизации потоков

        private static readonly AutoResetEvent reset = new AutoResetEvent(false); //сигнализатор для потоков
        private static readonly List<Thread> threads = new List<Thread>(); //список потоков

        static void Main()
        {
            string[] accounts = File.ReadAllLines("accounts.txt"); //получили все аккаунты
            proxyes = new Queue<string>(File.ReadAllLines("proxy.txt")); // и все прокси

            foreach (string account in accounts) //перебераем все акки
            {
                Thread worker = new Thread(Brute); //для каждого акка создаем новый поток
                worker.Start(account); //запускаем его с параметром
                threads.Add(worker); //и добавляем в список запущеных потоков
                if (threads.Count >= MaxThread) reset.WaitOne(); //если потокв больше чем должно быть то ждем окончания
            }

            Console.WriteLine("Press any key...");
            Console.ReadKey(true);
        }

        private static void Brute(object param)
        {
            string login = ((string)param).Split(';')[0]; //получили логин
            string pass = ((string)param).Split(';')[1]; //и пароль
            string proxy;
            lock (sync)
            {
                proxy = proxyes.Dequeue(); //вытащили прокси из очереди
                proxyes.Enqueue(proxy); //и запихнули в конец очереди, то есть зациклили
            }

            HttpWebRequest request = (HttpWebRequest)WebRequest.Create("ССЫЛКА" + login + pass); //составили запрос
            request.Proxy = new WebProxy(proxy); //привязали к запросу полученую проксю
            HttpWebResponse response = (HttpWebResponse)request.GetResponse(); // и т.д.
            // etc
            lock(sync) threads.Remove(Thread.CurrentThread); //обезопалили удаление потока из списка
            reset.Set(); //намекнули циклу что можно пускать новый поток
        }
    }
________________
Talk is cheap. Show me the code
— Linus Torvalds

Последний раз редактировалось Yukikaze; 25.08.2012 в 02:22.
  Ответить с цитированием
Пользователь сказал cпасибо:
[Na`Vi]DendI (25.08.2012)
Старый 25.08.2012, 02:34   #3
Заблокирован
 Сержант
Аватар для [Na`Vi]DendI
 
[Na`Vi]DendI на правильном пути[Na`Vi]DendI на правильном пути
Регистрация: 06.06.2012
Сообщений: 131
Популярность: 102
Сказал(а) спасибо: 141
Поблагодарили 131 раз(а) в 78 сообщениях
Отправить сообщение для [Na`Vi]DendI с помощью Skype™
 
По умолчанию Re: пример работы с прокси

Цитата:
Сообщение от YukikazeПосмотреть сообщение
Код:
    class Program
    {
        private const int MaxThread = 5; // максимальное кол-во потоков
        private static Queue<string> proxyes; //глобальная очередь проксей
        private static readonly Object sync = new object(); //объект для синхронизации потоков

        private static readonly AutoResetEvent reset = new AutoResetEvent(false); //сигнализатор для потоков
        private static readonly List<Thread> threads = new List<Thread>(); //список потоков

        static void Main()
        {
            string[] accounts = File.ReadAllLines("accounts.txt"); //получили все аккаунты
            proxyes = new Queue<string>(File.ReadAllLines("proxy.txt")); // и все прокси

            foreach (string account in accounts) //перебераем все акки
            {
                Thread worker = new Thread(Brute); //для каждого акка создаем новый поток
                worker.Start(account); //запускаем его с параметром
                threads.Add(worker); //и добавляем в список запущеных потоков
                if (threads.Count >= MaxThread) reset.WaitOne(); //если потокв больше чем должно быть то ждем окончания
            }

            Console.WriteLine("Press any key...");
            Console.ReadKey(true);
        }

        private static void Brute(object param)
        {
            string login = ((string)param).Split(';')[0]; //получили логин
            string pass = ((string)param).Split(';')[1]; //и пароль
            string proxy;
            lock (sync)
            {
                proxy = proxyes.Dequeue(); //вытащили прокси из очереди
                proxyes.Enqueue(proxy); //и запихнули в конец очереди, то есть зациклили
            }

            HttpWebRequest request = (HttpWebRequest)WebRequest.Create("ССЫЛКА" + login + pass); //составили запрос
            request.Proxy = new WebProxy(proxy); //привязали к запросу полученую проксю
            HttpWebResponse response = (HttpWebResponse)request.GetResponse(); // и т.д.
            // etc
            lock(sync) threads.Remove(Thread.CurrentThread); //обезопалили удаление потока из списка
            reset.Set(); //намекнули циклу что можно пускать новый поток
        }
    }

Спасибо вам огромное,вы уже мне 20 раз помогаете)
Спасибо,спасибо еще раз спасибо.
  Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Программа] UoPilot + пример VSamurayV Боты, скрипты и прочий софт для Aion 21 16.03.2014 18:54
[Помогите!] Нужен пример Барабуля Вопросы и ответы, обсуждения 14 16.07.2012 16:14
HashCalc + Пример ViLKaa Социальные сети 0 25.08.2010 18:04

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 18:27.

Пишите нам: forum@zhyk.ru
Copyright © 2025 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net