.NET 4.x Многопоточная авторизация - C#

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

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

Привет, я верю, что здесь есть програмисты, которые смогут мне помоч! Уже несколько дней мучаюсь с многопоточностю, имеется массив аккаунтов на один аккаунт один поток, каждый аккаунт проходит авторизацию на сайте вк и сохраняет куки в cookieconteiner, проблема в том, что если второй ак прошел авторизацию на сайте и допустим дальше с куками мне надо получить токен, токен берется с первого аккаунта и приходит 2 раза, как так?
               string[] strArray = Box_akk1.Text.Split(new char[] { '_', '\r', '\n', '|', ' ' }, StringSplitOptions.RemoveEmptyEntries);
                int[] numArray = new int[strArray.Length];
                for (int i = 0; i < numArray.Length; i++)
                {
                    string[] strArray2 = strArray[i].Split(new char[] { ':' });
                    object parameter = new object[] { strArray2[0], strArray2[1] };
                    Parallel.Invoke(
                new Action(() => { new Thread(new ParameterizedThreadStart(_start_)).Start(parameter); }));
                    
                }
private CookieContainer cookie = new CookieContainer();
public string _get_vk(string url)
        {
            try
            {
                string str = null;
                HttpWebRequest req = (HttpWebRequest)(WebRequest.Create(url));
 
                req.Method = "GET";
                //req.UserAgent = "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36";
                if (url.IndexOf("oauth.vk.com") == 0)
                {
                    req.ContentType = "text/html; charset=windows-1251";
                    req.Headers.Add("X-Powered-By", "PHP/3.8140");
                }
 
                req.CookieContainer = _cookie;
 
                using (Stream stream = req.GetResponse().GetResponseStream())
                {
                        str = new StreamReader(stream, Encoding.UTF8).ReadToEnd();
                        _cookie = req.CookieContainer;
                }
                
                return str;
            }
            catch
            {
                return null;
            }
        }
читал про потоки про monitor, lock, мютекс, нечего не помогает, что делать? есть еще одна мысль, парсить куки самому и как-то поочередно их передавать, ну опять поможет ли

Решение задачи: «.NET 4.x Многопоточная авторизация»

textual
Листинг программы
List<CookieContainer> lcc = new List<CookieContainer>();
lcc.Add(new CookieContainer());

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


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

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

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