Я после гета в список кидаю, потом обьединяю в переменную разделителям ;Привет. Гет запрос делаю-мне дают ответ и setcookie. Как их проще всего взять разом все в файл, чтобы потом использовать?
А как это объединять в переменную разделителем?Я после гета в список кидаю, потом обьединяю в переменную разделителям ;
Операция со списком, объединить элементы списка в переменную.А как это объединять в переменную разделителем?
Обращаем Ваше внимание на то, что данный пользователь заблокирован.
Не рекомендуем проводить с 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;
чем именно?По мне более правильно вот так.Код: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 какие-либо сделки.
Потому что в разных куках бывает разный мусор. И такой вариант берет хорошие куки для запросов.чем именно?
бывает имя куки без = значение?Потому что в разных куках бывает разный мусор. И такой вариант берет хорошие куки для запросов.
Обращаем Ваше внимание на то, что данный пользователь заблокирован.
Не рекомендуем проводить с AloneSlamer какие-либо сделки.
было и такое )бывает имя куки без = значение?
правильно говоришь но ему не доказать, он даже нулевой проксёй пользуется как я понялПотому что в разных куках бывает разный мусор. И такой вариант берет хорошие куки для запросов.
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());
Пробую - не срабатываетПо мне более правильно вот так.Код: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;
привет а есть сокращенный код?+))правильно говоришь но ему не доказать, он даже нулевой проксёй пользуется как я понял
без мусора, и если прокся сдохшая то не записывается
можно уменьшить код но честно всё руки не доходят
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());