set cookie post/get Как проще взять?

Dexio

Client
Регистрация
09.05.2014
Сообщения
1 254
Благодарностей
220
Баллы
63
Привет. Гет запрос делаю-мне дают ответ и setcookie. Как их проще всего взять разом все в файл, чтобы потом использовать?
 

qzen4i

Client
Регистрация
01.05.2014
Сообщения
1 404
Благодарностей
313
Баллы
83
Привет. Гет запрос делаю-мне дают ответ и setcookie. Как их проще всего взять разом все в файл, чтобы потом использовать?
Я после гета в список кидаю, потом обьединяю в переменную разделителям ;
 

Dexio

Client
Регистрация
09.05.2014
Сообщения
1 254
Благодарностей
220
Баллы
63

qzen4i

Client
Регистрация
01.05.2014
Сообщения
1 404
Благодарностей
313
Баллы
83
  • Спасибо
Реакции: Dexio

redman

Client
Регистрация
11.03.2016
Сообщения
554
Благодарностей
178
Баллы
43
Код:
var GET=project.Variables["get"].Value;
var matchCookies = Regex.Matches(GET, @"(?<=Set-Cookie:\ ).*?;").Cast<Match>().Select(m => m.Value).ToArray();
var Cookies=string.Join(" ", matchCookies);
project.Variables["cookies"].Value=Cookies;
 
  • Спасибо
Реакции: qzen4i

backoff

Client
Регистрация
20.04.2015
Сообщения
5 925
Благодарностей
6 389
Баллы
113
или так
Код:
string get_cookie =project.Variables["res"].Value;
var Cookie = string.Join("; ", Regex.Matches(get_cookie, @"(?<=Set-Cookie:\ ).*?(?=;)").Cast<Match>().Select(x=>x.Value));
return Cookie;
 
  • Спасибо
Реакции: Dexio

AloneSlamer

Client
Регистрация
29.01.2013
Сообщения
1 404
Благодарностей
362
Баллы
83

Обращаем Ваше внимание на то, что данный пользователь заблокирован.
Не рекомендуем проводить с AloneSlamer какие-либо сделки.

Код:
string source = project.Variables["DOM"].Value;
string cookies = "";
MatchCollection matches = Regex.Matches(source,@"(?<=Set-Cookie: ).*?=.*?;");
foreach (Match match in matches) {
cookies += match.Value.Trim()+" ";
}
return cookies;
По мне более правильно вот так.
 
  • Спасибо
Реакции: perioh и doc

doc

Client
Регистрация
30.03.2012
Сообщения
8 607
Благодарностей
4 597
Баллы
113
Код:
string source = project.Variables["DOM"].Value;
string cookies = "";
MatchCollection matches = Regex.Matches(source,@"(?<=Set-Cookie: ).*?=.*?;");
foreach (Match match in matches) {
cookies += match.Value.Trim()+" ";
}
return cookies;
По мне более правильно вот так.
чем именно?
 

AloneSlamer

Client
Регистрация
29.01.2013
Сообщения
1 404
Благодарностей
362
Баллы
83

Обращаем Ваше внимание на то, что данный пользователь заблокирован.
Не рекомендуем проводить с AloneSlamer какие-либо сделки.

doc

Client
Регистрация
30.03.2012
Сообщения
8 607
Благодарностей
4 597
Баллы
113

AloneSlamer

Client
Регистрация
29.01.2013
Сообщения
1 404
Благодарностей
362
Баллы
83

Обращаем Ваше внимание на то, что данный пользователь заблокирован.
Не рекомендуем проводить с AloneSlamer какие-либо сделки.

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
Потому что в разных куках бывает разный мусор. И такой вариант берет хорошие куки для запросов.
правильно говоришь но ему не доказать, он даже нулевой проксёй пользуется как я понял

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

C#:
var cookies = project.Variables["cookie"].Value.Split(new String [] {"; "}, StringSplitOptions.RemoveEmptyEntries).ToList();
cookies.AddRange(Regex.Matches(res, @"(?<=Set-Cookie:\s)[^;]+(?=;.*?(Max-Age=[^-0]))")
       .Cast<Match>()
       .Select(s=>s.Value).ToList());

for(int i = cookies.Count-1; i >= 1; i--)
{
    string cookiename = cookies[i].Split('=')[0];
    for(int j = i-1; j >= 0; j--)
    {
        if(cookiename == cookies[j].Split('=')[0])
        {
            cookies.RemoveAt(j);
            i--;
        }
    }
}

for (int i = 0; i < cookies.Count; i++)
{
    string cookiename = cookies[i].Split('=')[1];

    if (cookiename == "0")
    {
        cookies.RemoveAt(i);
        i--;
    }
}

project.Variables["cookie"].Value = string.Join("; ", cookies.ToArray());
 
  • Спасибо
Реакции: AloneSlamer

aez

Client
Регистрация
23.12.2015
Сообщения
35
Благодарностей
-1
Баллы
8
Код:
string source = project.Variables["DOM"].Value;
string cookies = "";
MatchCollection matches = Regex.Matches(source,@"(?<=Set-Cookie: ).*?=.*?;");
foreach (Match match in matches) {
cookies += match.Value.Trim()+" ";
}
return cookies;
По мне более правильно вот так.
Пробую - не срабатывает
Подскажите в кубик - какой полный код положить. Просто только начал разбираться с зенкой.
 

Vlad_Curnoi

Client
Регистрация
09.08.2017
Сообщения
391
Благодарностей
166
Баллы
43
правильно говоришь но ему не доказать, он даже нулевой проксёй пользуется как я понял

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

C#:
var cookies = project.Variables["cookie"].Value.Split(new String [] {"; "}, StringSplitOptions.RemoveEmptyEntries).ToList();
cookies.AddRange(Regex.Matches(res, @"(?<=Set-Cookie:\s)[^;]+(?=;.*?(Max-Age=[^-0]))")
       .Cast<Match>()
       .Select(s=>s.Value).ToList());

for(int i = cookies.Count-1; i >= 1; i--)
{
    string cookiename = cookies[i].Split('=')[0];
    for(int j = i-1; j >= 0; j--)
    {
        if(cookiename == cookies[j].Split('=')[0])
        {
            cookies.RemoveAt(j);
            i--;
        }
    }
}

for (int i = 0; i < cookies.Count; i++)
{
    string cookiename = cookies[i].Split('=')[1];

    if (cookiename == "0")
    {
        cookies.RemoveAt(i);
        i--;
    }
}

project.Variables["cookie"].Value = string.Join("; ", cookies.ToArray());
привет а есть сокращенный код?+))
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)