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

Discussion in 'Вопросы и обсуждение' started by Vasyl1, Aug 9, 2018.

  1. Vasyl1

    Vasyl1 Client

    Joined:
    Dec 11, 2016
    Messages:
    104
    Likes Received:
    8
    Как вытащить Cookie из CookieContainer?
    Пытаюсь через
    Code (text):
    1. return project.Profile.CookieContainer.ToString();
    Но мне выдает не куки а Global.Browser.CookieContainerBase
     
  2. doc

    doc Client

    Joined:
    Mar 30, 2012
    Messages:
    6,973
    Likes Received:
    3,280
    ищи в гугле что такое кукиконтейнер и как получать с него куки в тектовом виде. Это не зенновская разработка

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

    ibred Administrator

    Joined:
    Apr 4, 2015
    Messages:
    2,293
    Likes Received:
    1,720
  4. VladZen

    VladZen Administrator Staff Member

    Joined:
    Nov 5, 2014
    Messages:
    14,299
    Likes Received:
    3,479
  5. daniilslep

    daniilslep Client

    Joined:
    Nov 14, 2018
    Messages:
    13
    Likes Received:
    1
    Я в этой теме новичок, можете показать конкретный пример или код, как куки сохранять, а потом загружать? Не могу ничего разумного найти, заранее спасибо
     
  6. VladZen

    VladZen Administrator Staff Member

    Joined:
    Nov 5, 2014
    Messages:
    14,299
    Likes Received:
    3,479
    Например так:
     

    Attached Files:

    slavater86, Balu, KitKat21 and 2 others like this.
  7. daniilslep

    daniilslep Client

    Joined:
    Nov 14, 2018
    Messages:
    13
    Likes Received:
    1
    Спасибо! Все получилось)
     
  8. Juniorcpa

    Juniorcpa Client

    Joined:
    May 27, 2014
    Messages:
    1,206
    Likes Received:
    559
    А может есть готовый пример, который позволит начать работу в браузере, а закончить на вебе паралельно переключаясь? :-)
     
  9. vrska

    vrska Client

    Joined:
    Feb 7, 2010
    Messages:
    249
    Likes Received:
    90
    што?
     
    doc likes this.
  10. phirelli

    phirelli Client

    Joined:
    Sep 11, 2016
    Messages:
    31
    Likes Received:
    2
    Подскажите пожалуйста, как отправить GET запрос на С# с использованием уже сохранённого профиля , обыскал нигде не нашёл. Второй момент не могу понять как пользоваться кукиконтейнером на C# правильно, по сути мне нужно будет использовать и веб часть и запросы, хочу совместить эти два метода. Мне нужно по сути так что бы куки в профиле по окончанию работы или в процессе менялись в профиле, что то типа как обновлялись.
     

    Attached Files:

  11. ibred

    ibred Administrator

    Joined:
    Apr 4, 2015
    Messages:
    2,293
    Likes Received:
    1,720
    Code (csharp):
    1. string res = ZennoPoster.HTTP.Request(
    2.     InterfacesLibrary.Enums.Http.HttpMethod.GET,
    3.     "https://zennolab.com/",
    4.     "",
    5.     "",
    6.     project.Variables["proxy"].Value,
    7.     "UTF-8",
    8.     ZennoLab.InterfacesLibrary.Enums.Http.ResponceType.HeaderAndBody,
    9.     30000,
    10.     "",
    11.     project.Profile.UserAgent,
    12.     true,
    13.     5,
    14.     new[] {""},
    15.     "",
    16.     true,
    17.     true,
    18.     project.Profile.CookieContainer
    19. );
    20. return res;
     
    phirelli and KitKat21 like this.
  12. phirelli

    phirelli Client

    Joined:
    Sep 11, 2016
    Messages:
    31
    Likes Received:
    2
    Большое спасибо за ответ! Скажите тогда ещё пожалуйста а где в этом коде указать имя профиля и путь? Или он уже учитывает якобы загруженный профиль? Может глупый вопрос, не судите строго просто ещё пока новичок в этом деле если что :-)
     
  13. Vasyl1

    Vasyl1 Client

    Joined:
    Dec 11, 2016
    Messages:
    104
    Likes Received:
    8
    Он загружен в project.Profile.UserAgent.
     
    phirelli likes this.
  14. phirelli

    phirelli Client

    Joined:
    Sep 11, 2016
    Messages:
    31
    Likes Received:
    2
    Как я понимаю, если я уже загрузил профиль например вот таким методом: project.Profile.Load то при дальнейшей работе с GET запросом это всё уже учитывается и можно не парится, ясно Спасибо!
     
  15. udder

    udder Client

    Joined:
    Mar 28, 2017
    Messages:
    172
    Likes Received:
    21
    Скажите, пожалуйста, как изменить данные код чтобы брать куки только с определенного домена?

    Code (text):
    1. // instance.ActiveTab.Navigate("http://google.com");
    2. instance.ActiveTab.WaitDownloading();
    3.  
    4. project.Profile.CookieContainer.Refresh();
    5. var str = Encoding.UTF8.GetString(project.Profile.CookieContainer.Export());
    6. return str;
     
  16. slavater86

    slavater86 Client

    Joined:
    Dec 15, 2015
    Messages:
    33
    Likes Received:
    6
    спасибо за пример!
    а можете привести пример, как из переменной Var1 записать данные в project.Profile.CookieContainer???
    допустим из вашего примера я экспортировал project.Profile.CookieContainer в переменную var1 и сохранил в базу данных...
    теперь при следующей работе бота мне нужно взять с базы эти данные и импортировать в project.Profile.CookieContainer...
    документацию смотрел... но в коде совсем не понимаю... хотелось бы готовый пример)))
    Заранее СПАСИБО!!!
     
  17. ibred

    ibred Administrator

    Joined:
    Apr 4, 2015
    Messages:
    2,293
    Likes Received:
    1,720
    https://help.zennolab.com/en/v5/zennoposter/5.27.0.0/webframe.html#topic274.html

    Но зачем сохранять куки в базу данных, если для этого есть профили? Вы слишком усложнили решение задачи.
     
    Last edited: Jun 15, 2019 at 12:33 PM
  18. slavater86

    slavater86 Client

    Joined:
    Dec 15, 2015
    Messages:
    33
    Likes Received:
    6
    все данные хранятся в базе данных на отдельном сервере... оттуда удобно с любого компьютера дергать данные и нет необходимость хранить и перезаписывать много тысяч файлов...

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

    slavater86 Client

    Joined:
    Dec 15, 2015
    Messages:
    33
    Likes Received:
    6
    Как записать в контейнер если шаблон без инстанса, на запросах???
     
  20. slavater86

    slavater86 Client

    Joined:
    Dec 15, 2015
    Messages:
    33
    Likes Received:
    6
    Ответил на свой вопрос методом тыка)))

    string cookie = project.Variables["peremennaya"].Value;
    byte[] cookieBytes = System.Text.Encoding.UTF8.GetBytes(cookie);
    project.Profile.CookieContainer.Import(cookieBytes);
     
    ibred likes this.

Пользователи просматривающие тему (Пользователей: 0, Гостей: 1)