Как вытащить Cookie из CookieContainer?

Vasyl1

Client
Регистрация
11.12.2016
Сообщения
194
Благодарностей
18
Баллы
18
Как вытащить Cookie из CookieContainer?
Пытаюсь через
Код:
return project.Profile.CookieContainer.ToString();
Но мне выдает не куки а Global.Browser.CookieContainerBase
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 593
Благодарностей
4 575
Баллы
113
ищи в гугле что такое кукиконтейнер и как получать с него куки в тектовом виде. Это не зенновская разработка

и ещё, обычный instance.GetCookie не работает?
 

daniilslep

Client
Регистрация
14.11.2018
Сообщения
29
Благодарностей
3
Баллы
3
Еще есть Export cookie - https://help.zennolab.com/en/v5/zennoposter/5.18.0.0/webframe.html#topic39.html
Он возвращает в байтах, но если прогнать через Encoding.UTF8.GetString , то получится стандартный куки в формате браузера
Я в этой теме новичок, можете показать конкретный пример или код, как куки сохранять, а потом загружать? Не могу ничего разумного найти, заранее спасибо
 

VladZen

Administrator
Команда форума
Регистрация
05.11.2014
Сообщения
22 132
Благодарностей
5 801
Баллы
113
Я в этой теме новичок, можете показать конкретный пример или код, как куки сохранять, а потом загружать? Не могу ничего разумного найти, заранее спасибо
Например так:
 

Вложения

Juniorcpa

Client
Регистрация
27.05.2014
Сообщения
2 030
Благодарностей
1 283
Баллы
113
А может есть готовый пример, который позволит начать работу в браузере, а закончить на вебе паралельно переключаясь? :-)
 

phirelli

Client
Регистрация
11.09.2016
Сообщения
34
Благодарностей
6
Баллы
8
Подскажите пожалуйста, как отправить GET запрос на С# с использованием уже сохранённого профиля , обыскал нигде не нашёл. Второй момент не могу понять как пользоваться кукиконтейнером на C# правильно, по сути мне нужно будет использовать и веб часть и запросы, хочу совместить эти два метода. Мне нужно по сути так что бы куки в профиле по окончанию работы или в процессе менялись в профиле, что то типа как обновлялись.
 

Вложения

ibred

Client
Регистрация
04.04.2015
Сообщения
3 835
Благодарностей
3 534
Баллы
113
Подскажите пожалуйста, как отправить GET запрос на С# с использованием уже сохранённого профиля , обыскал нигде не нашёл. Второй момент не могу понять как пользоваться кукиконтейнером на C# правильно, по сути мне нужно будет использовать и веб часть и запросы, хочу совместить эти два метода. Мне нужно по сути так что бы куки в профиле по окончанию работы или в процессе менялись в профиле, что то типа как обновлялись.
C#:
string res = ZennoPoster.HTTP.Request(
    InterfacesLibrary.Enums.Http.HttpMethod.GET,
    "https://zennolab.com/",
    "",
    "",
    project.Variables["proxy"].Value,
    "UTF-8",
    ZennoLab.InterfacesLibrary.Enums.Http.ResponceType.HeaderAndBody,
    30000,
    "",
    project.Profile.UserAgent,
    true,
    5,
    new[] {""},
    "",
    true,
    true,
    project.Profile.CookieContainer
);
return res;
 

phirelli

Client
Регистрация
11.09.2016
Сообщения
34
Благодарностей
6
Баллы
8
Большое спасибо за ответ! Скажите тогда ещё пожалуйста а где в этом коде указать имя профиля и путь? Или он уже учитывает якобы загруженный профиль? Может глупый вопрос, не судите строго просто ещё пока новичок в этом деле если что :-)
 

Vasyl1

Client
Регистрация
11.12.2016
Сообщения
194
Благодарностей
18
Баллы
18
Большое спасибо за ответ! Скажите тогда ещё пожалуйста а где в этом коде указать имя профиля и путь? Или он уже учитывает якобы загруженный профиль? Может глупый вопрос, не судите строго просто ещё пока новичок в этом деле если что :-)
Он загружен в project.Profile.UserAgent.
 
  • Спасибо
Реакции: phirelli

phirelli

Client
Регистрация
11.09.2016
Сообщения
34
Благодарностей
6
Баллы
8
Как я понимаю, если я уже загрузил профиль например вот таким методом: project.Profile.Load то при дальнейшей работе с GET запросом это всё уже учитывается и можно не парится, ясно Спасибо!
 

udder

Client
Регистрация
28.03.2017
Сообщения
595
Благодарностей
117
Баллы
43
Скажите, пожалуйста, как изменить данные код чтобы брать куки только с определенного домена?

Код:
// instance.ActiveTab.Navigate("http://google.com");
instance.ActiveTab.WaitDownloading();

project.Profile.CookieContainer.Refresh();
var str = Encoding.UTF8.GetString(project.Profile.CookieContainer.Export());
return str;
 
  • Спасибо
Реакции: phirelli

ZaBitok

Client
Регистрация
15.12.2015
Сообщения
68
Благодарностей
27
Баллы
18
спасибо за пример!
а можете привести пример, как из переменной Var1 записать данные в project.Profile.CookieContainer???
допустим из вашего примера я экспортировал project.Profile.CookieContainer в переменную var1 и сохранил в базу данных...
теперь при следующей работе бота мне нужно взять с базы эти данные и импортировать в project.Profile.CookieContainer...
документацию смотрел... но в коде совсем не понимаю... хотелось бы готовый пример)))
Заранее СПАСИБО!!!
 

ibred

Client
Регистрация
04.04.2015
Сообщения
3 835
Благодарностей
3 534
Баллы
113
спасибо за пример!
а можете привести пример, как из переменной Var1 записать данные в project.Profile.CookieContainer???
допустим из вашего примера я экспортировал project.Profile.CookieContainer в переменную var1 и сохранил в базу данных...
теперь при следующей работе бота мне нужно взять с базы эти данные и импортировать в project.Profile.CookieContainer...
документацию смотрел... но в коде совсем не понимаю... хотелось бы готовый пример)))
Заранее СПАСИБО!!!
https://help.zennolab.com/en/v5/zennoposter/5.27.0.0/webframe.html#topic274.html

Но зачем сохранять куки в базу данных, если для этого есть профили? Вы слишком усложнили решение задачи.
 
Последнее редактирование:

ZaBitok

Client
Регистрация
15.12.2015
Сообщения
68
Благодарностей
27
Баллы
18
Зачем сохранять куки в базу данных, если для этого есть профили? Вы слишком усложнили решение задачи.
все данные хранятся в базе данных на отдельном сервере... оттуда удобно с любого компьютера дергать данные и нет необходимость хранить и перезаписывать много тысяч файлов...

ВОТ ОТВЕТ НА ВОПРОС!!!!
****
string cookie = project.Variables["peremennaya"].Value;
byte[] cookieBytes = System.Text.Encoding.UTF8.GetBytes(cookie);
instance.LoadCookie(cookieBytes);
****
 

ZaBitok

Client
Регистрация
15.12.2015
Сообщения
68
Благодарностей
27
Баллы
18
ВОТ ОТВЕТ НА ВОПРОС!!!!
****
string cookie = project.Variables["peremennaya"].Value;
byte[] cookieBytes = System.Text.Encoding.UTF8.GetBytes(cookie);
instance.LoadCookie(cookieBytes);
****
Как записать в контейнер если шаблон без инстанса, на запросах???
 

ZaBitok

Client
Регистрация
15.12.2015
Сообщения
68
Благодарностей
27
Баллы
18
Как записать в контейнер если шаблон без инстанса, на запросах???
Ответил на свой вопрос методом тыка)))

string cookie = project.Variables["peremennaya"].Value;
byte[] cookieBytes = System.Text.Encoding.UTF8.GetBytes(cookie);
project.Profile.CookieContainer.Import(cookieBytes);
 
  • Спасибо
Реакции: phirelli и ibred

theinova

Client
Регистрация
07.09.2016
Сообщения
102
Благодарностей
70
Баллы
28
как сделать чтоб обычный браузер принимал эти куки?
 

xatchikzzz

Client
Регистрация
08.09.2010
Сообщения
559
Благодарностей
38
Баллы
28
а как посмотреть получить куки без использования браузера просто запросом
 

porileenvej

Client
Регистрация
09.05.2020
Сообщения
99
Благодарностей
130
Баллы
33
а как посмотреть получить куки без использования браузера просто запросом
Делаешь запрос на сайт.
Для получения кук, c# кубик
C#:
return Encoding.UTF8.GetString(project.Profile.CookieContainer.Export());
 
  • Спасибо
Реакции: Khaan27 и Truelife

Zedx

Client
Регистрация
12.06.2018
Сообщения
1 157
Благодарностей
806
Баллы
113
C#:
string res = ZennoPoster.HTTP.Request(
    InterfacesLibrary.Enums.Http.HttpMethod.GET,
    "https://zennolab.com/",
    "",
    "",
    project.Variables["proxy"].Value,
    "UTF-8",
    ZennoLab.InterfacesLibrary.Enums.Http.ResponceType.HeaderAndBody,
    30000,
    "",
    project.Profile.UserAgent,
    true,
    5,
    new[] {""},
    "",
    true,
    true,
    project.Profile.CookieContainer
);
return res;
Апну старую тему:
Что-то поменялось за это время? Ругается на project.Profile.CookieContainer в методе запроса:
cannot convert from 'ZennoLab.InterfacesLibrary.ProjectModel.ICookieContainer' to 'string'
 

Zedx

Client
Регистрация
12.06.2018
Сообщения
1 157
Благодарностей
806
Баллы
113

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