Обращаем Ваше внимание на то, что данный пользователь заблокирован.
Не рекомендуем проводить с AloneSlamer какие-либо сделки.
а если кука сдохла и имеет значение 0, то что делать будешь в этом случае ?ну как же не пашет?
проверил код
куки выпарсилоC#: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;
Так стандартными экшенами разве сильно нагрузит шаблон? Хотя... Сниппетом более этично вышло бы.Ищу сниппеты для Post и get запросов с проверкой ответа сервера. Что бы если вышли ошибки 409,502,500, 404 и прочие выход по красной линии если ответ сервера 200 302 то по зеленой. Сниппеты нужны для того что бы не перегружать и так перегруженный шаблон. https://yadi.sk/i/ynEwtOzJ3BYDpb
ну наверно чтобы не лепить строки проверок создай класс, вроде для тебя не сложно это сделатьИщу сниппеты для Post и get запросов с проверкой ответа сервера. Что бы если вышли ошибки 409,502,500, 404 и прочие выход по красной линии если ответ сервера 200 302 то по зеленой. Сниппеты нужны для того что бы не перегружать и так перегруженный шаблон. https://yadi.sk/i/ynEwtOzJ3BYDpb
Обращаем Ваше внимание на то, что данный пользователь заблокирован.
Не рекомендуем проводить с AloneSlamer какие-либо сделки.
Я бы вообще на xnet все все сделал если бы там можно было куки вытягивать.ну наверно чтобы не лепить строки проверок создай класс, вроде для тебя не сложно это сделать
я давно перешёл, можно конечно там куки вытаскиватьЯ бы вообще на xnet все все сделал если бы там можно было куки вытягивать.
bool log = true;
bool https = false;
bool socks = false;
var contentResponse = "";
var url = project.Variables["Url"].Value;
var proxy = project.Variables["Proxy"].Value;
var useragent = project.Variables["UserAgent"].Value;
CookieDictionary cookies = new CookieDictionary();
try
{
using (var request = new HttpRequest())
{
request.KeepAlive = true;
request.UserAgent = useragent;
request.AllowAutoRedirect = true;
request.MaximumAutomaticRedirections = 5;
request.AddHeader("Upgrade-Insecure-Requests", "1")
.AddHeader(HttpHeader.AcceptLanguage, "ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4")
.AddHeader(HttpHeader.Accept, "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8")
.Cookies = cookies;
if(https)
request.Proxy = HttpProxyClient.Parse(proxy);
if(socks)
request.Proxy = Socks5ProxyClient.Parse(proxy);
HttpResponse response = request.Get(url);
cookies = response.Cookies;
contentResponse = response.ToString();
if(contentResponse == "")
{
//project.SendErrorToLog("", "Поток " + Stream + " -> HttpRequest.Response пуст\r\n" + url, log);
project.Variables["errorServer"].Value = "1";
return null;
}
//project.Variables["response"].Value = contentResponse;
}
}
catch (Exception e)
{
//project.SendErrorToLog("", "Поток " + Stream + " --> HttpRequest --> " + e.Message, log);
project.Variables["errorServer"].Value = "1";
return null;
}
Молодец котяра, наконец то от тебя хоть какой то толк появился кроме спама, лови + в репу) Продолжай помогать людям и будешь молодцом!Это для кубика сишногоC#:bool log = true; bool https = false; bool socks = false; var contentResponse = ""; var url = project.Variables["Url"].Value; var proxy = project.Variables["Proxy"].Value; var useragent = project.Variables["UserAgent"].Value; CookieDictionary cookies = new CookieDictionary(); try { using (var request = new HttpRequest()) { request.KeepAlive = true; request.UserAgent = useragent; request.AllowAutoRedirect = true; request.MaximumAutomaticRedirections = 5; request.AddHeader("Upgrade-Insecure-Requests", "1") .AddHeader(HttpHeader.AcceptLanguage, "ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4") .AddHeader(HttpHeader.Accept, "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8") .Cookies = cookies; if(https) request.Proxy = HttpProxyClient.Parse(proxy); if(socks) request.Proxy = Socks5ProxyClient.Parse(proxy); HttpResponse response = request.Get(url); cookies = response.Cookies; contentResponse = response.ToString(); if(contentResponse == "") { //project.SendErrorToLog("", "Поток " + Stream + " -> HttpRequest.Response пуст\r\n" + url, log); project.Variables["errorServer"].Value = "1"; return null; } //project.Variables["response"].Value = contentResponse; } } catch (Exception e) { //project.SendErrorToLog("", "Поток " + Stream + " --> HttpRequest --> " + e.Message, log); project.Variables["errorServer"].Value = "1"; return null; }
P.S. ну и саму либу там рихтонуть немного нуно )
)))) ну ты хоть не смеши меня, если есть желание я всегда помогу, а форум вообщето для общения а не скороя помощь этоМолодец котяра, наконец то от тебя хоть какой то толк появился кроме спама, лови + в репу) Продолжай помогать людям и будешь молодцом!
А как скопировать список в файл, а лучше несколько списков в несколько файлов?C#:var listFrom = project.Lists["Список 1"]; var listTo = project.Lists["Список 2"]; listTo.AddRange(listFrom);
А как скопировать список в файл, а лучше несколько списков в несколько файлов?
Спасибо
var file = Path.Combine(project.Directory,"список 1.txt");
var list = project.Lists["Список 1"];
File.WriteAllLines(file,list);
Эм, а зачем cookies = response.Cookies; ?Это для кубика сишногоC#:bool log = true; bool https = false; bool socks = false; var contentResponse = ""; var url = project.Variables["Url"].Value; var proxy = project.Variables["Proxy"].Value; var useragent = project.Variables["UserAgent"].Value; CookieDictionary cookies = new CookieDictionary(); try { using (var request = new HttpRequest()) { request.KeepAlive = true; request.UserAgent = useragent; request.AllowAutoRedirect = true; request.MaximumAutomaticRedirections = 5; request.AddHeader("Upgrade-Insecure-Requests", "1") .AddHeader(HttpHeader.AcceptLanguage, "ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4") .AddHeader(HttpHeader.Accept, "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8") .Cookies = cookies; if(https) request.Proxy = HttpProxyClient.Parse(proxy); if(socks) request.Proxy = Socks5ProxyClient.Parse(proxy); HttpResponse response = request.Get(url); cookies = response.Cookies; contentResponse = response.ToString(); if(contentResponse == "") { //project.SendErrorToLog("", "Поток " + Stream + " -> HttpRequest.Response пуст\r\n" + url, log); project.Variables["errorServer"].Value = "1"; return null; } //project.Variables["response"].Value = contentResponse; } } catch (Exception e) { //project.SendErrorToLog("", "Поток " + Stream + " --> HttpRequest --> " + e.Message, log); project.Variables["errorServer"].Value = "1"; return null; }
P.S. ну и саму либу там рихтонуть немного нуно )
// Все куки что пришли в ответе
request.Response.EnumerateRawCookies();
// Кука по имени
request.Response.GetRawCookie("CookieName");
// Есть кука с таким именем или нет
request.Response.ContainsRawCookie("CookieName");
у меня в общем коде и поэтому мне в кубики передавать нинадоЭм, а зачем cookies = response.Cookies; ?
Словарь же и так по умолчанию обновится.
Для того чтобы куки между кубиками передавать можно их загнать в project.Context, а еще лучше сам HttpRequest туда запихнуть.
Если же нам надо пришедшие куки в Raw формате, то мы их можем получить так:
C#:// Все куки что пришли в ответе request.Response.EnumerateRawCookies(); // Кука по имени request.Response.GetRawCookie("CookieName"); // Есть кука с таким именем или нет request.Response.ContainsRawCookie("CookieName");
Я про обнуляет не говорил, я имелл ввиду что cookies = response.Cookies; бесмысленная строка, т.к. они ссылаются на одну и туже коллекцию.у меня в общем коде и поэтому мне в кубики передавать нинадо
P.S. cookies = response.Cookies;
тут наоборот получает а не обнуляет
//Создали коллекцию
CookieDictionary cookies = new CookieDictionary();
//Здесь передается ссылка на объект, новый объект не создается
request.Cookies = cookies;
//Сделали запроc
HttpResponse response = request.Get(url);
//Получим True, т.к. это один объект.
return (cookies == response.Cookies);
Жду не дождусь когда наконец утрут нос котяре-спамеру, молодец поймал котяру!!!Я про обнуляет не говорил, я имелл ввиду что cookies = response.Cookies; бесмысленная строка, т.к. они ссылаются на одну и туже коллекцию.
C#://Создали коллекцию CookieDictionary cookies = new CookieDictionary(); //Здесь передается ссылка на объект, новый объект не создается request.Cookies = cookies; //Сделали запроc HttpResponse response = request.Get(url); //Получим True, т.к. это один объект. return (cookies == response.Cookies);
и что ты потом Ttrue будешь передавать во втором запросе ?Я про обнуляет не говорил, я имелл ввиду что cookies = response.Cookies; бесмысленная строка, т.к. они ссылаются на одну и туже коллекцию.
C#://Создали коллекцию CookieDictionary cookies = new CookieDictionary(); //Здесь передается ссылка на объект, новый объект не создается request.Cookies = cookies; //Сделали запроc HttpResponse response = request.Get(url); //Получим True, т.к. это один объект. return (cookies == response.Cookies);
А ты сам то понял о чем @Adigen написал?Жду не дождусь когда наконец утрут нос котяре-спамеру, молодец поймал котяру!!!
Ты сам то понял что написал? Вопрос был про то, что нет смысла повторно объект пихать в какую то переменную, а ты про то, что можно использовать в классе.Вообще-то это делается для того, чтобы кукиконтейнер (в данном случае куки словарь) можно было использовать в классах как поле. Так что все норм, а ссылка и вправду указывает на 1 и тот же объект.
Эта строка как раз нужна. Все правильно, ты создаешь запрос, передаешь в него объект с кукисами.Если строка 23
проверив и убрав строку теперь понял что в контейнере и без этой строки куки попалиЭта строка как раз нужна. Все правильно, ты создаешь запрос, передаешь в него объект с кукисами.
А вот cookies = response.Cookies; это лишнее, т.к. CookieDictionary cookies это объект, который ты передаешь в запросе.
Когда приходит ответ, он автоматом обновляется, опять же, т.к. это объект, поэтому в данной строчке смысла нет.
Вот когда зенковским способом делается запрос, приходит ответ, из него выковыриваются кукисы в string а потом передаются в следующем запросе, там да, надо выковыривать и постоянно обновлять переменную с кукисами.
Да, работает, спасибо.C#:var file = Path.Combine(project.Directory,"список 1.txt"); var list = project.Lists["Список 1"]; File.WriteAllLines(file,list);
var file = Path.Combine(project.Directory,"Список 1.txt");
var file1 = Path.Combine(project.Directory,"Список 2.txt");
var list = project.Lists["list 1"];
var list1 = project.Lists["list 2"];
File.WriteAllLines(file,list);
File.WriteAllLines(file1,list1);
Да, работает, спасибо.
Но, вопрос:
1. В несколько файлов из нескольких списков - так.
2. Таким кодом оно перезаписывает файл, а как дописать в существующий?
Спасибо.
Код:var file = Path.Combine(project.Directory,"Список 1.txt"); var file1 = Path.Combine(project.Directory,"Список 2.txt"); var list = project.Lists["list 1"]; var list1 = project.Lists["list 2"]; File.WriteAllLines(file,list); File.WriteAllLines(file1,list1);
File.AppendAllLines(file,list);
А как в путь сохранения файла (например вместо список 1) вставить переменную проекта.C#:File.AppendAllLines(file,list);
var file = Path.Combine(project.Directory,"список 1.txt");
var list = project.Lists["Список 1"];
File.WriteAllLines(file,list);
Спасибо, но немного не так. Я имел ввиду в первой строчке "список 1.txt" заменить на переменную из проекта.C#:var file = Path.Combine(project.Directory,"список 1.txt"); var list = project.Variables["i"].Value; File.WriteAllText(file,list);
Спасибо, но немного не так. Я имел ввиду в первой строчке "список 1.txt" заменить на переменную из проекта.
Спасибо.
var file = Path.Combine(project.Directory,project.Variables["z1"].Value);
var list = project.Lists["Список 1"];
File.WriteAllLines(file,list);