Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/55: Рейтинг темы: голосов - 55, средняя оценка - 4.93
13 / 13 / 2
Регистрация: 22.04.2010
Сообщений: 658

Куки и CookieContainer - нужно, чтобы отправлялись все три куки

25.10.2014, 19:08. Показов 10277. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Создаю контейнер:
C#
1
CookieContainer cookieContainer = new CookieContainer();
И затем цепляю его к первому запросу:
C#
1
request.CookieContainer = cookieContainer;
В ответ приходят три куки:

Set-Cookie: time=1414242007; expires=Sat, 01-Nov-2014 13:06:40 GMT; path=/; domain=***.net
Set-Cookie: name=rambo; expires=Sat, 01-Nov-2014 13:06:40 GMT; path=/; domain=***.net
Set-Cookie: PHPSESSID=ivo4lca76e8elb9f3luq81f9m7; path=/

Цепляю тот же контейнер ко второму запросу, отправляется лишь одна кука из трех:

Cookie: PHPSESSID=ivo4lca76e8elb9f3luq81f9m7

Нужно, чтобы отправлялись все три куки, в чем может быть проблема и как это решить?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.10.2014, 19:08
Ответы с готовыми решениями:

Как выдернуть куки из CookieContainer как текст
Как выдернуть куки из CookieContainer как текст.

Как куки одного домена сохранить как куки другого?
Здравствуйте, такой вопрос: нужно cookie на домене aaaaaa.com сохранить как cookie домена bbbbbb.com. Как это можно сделать?

Можно ли использовать куки, чтобы потом не вводить капчу?
ИСПОЛЬЗУЕТСЯ: С#, WebDriver (при необходимости) Хочу написать парсер, который будет скачивать информацию программно (без браузера). ...

12
Заблокирован
25.10.2014, 19:19
Судя по всему не цепляются куки в виду того что вы их отправляете на другой домен. Принудительно добавляйте кукисы если вам это надо

C#
1
2
foreach(Cookie cook in cookieContainer)
request.CookieContainer.Add(new Cookie(cook.name,cook.value,"/","ваш домен"));
0
13 / 13 / 2
Регистрация: 22.04.2010
Сообщений: 658
25.10.2014, 19:29  [ТС]
AsUWish

Я никаких манипуляций с доменами не произвожу! Пустой контейнер ловит куки уже с припиской к домену, домен при отправке совпадает, но куки не отправляются. Может как-то можно удалить домен из контейнера???
Вручную нежелательно, иначе бы я давно это сделал через Headers.add. Подскажите как вычистить домен???
0
Заблокирован
25.10.2014, 19:43
Переписывайте контейнер в зависимости от надобностей. Тот метод который я написал будет добавлять куки все которые у вас имеются. вы можете также записывать куки но без домена конструктор может принимать 3 аргумента.
1
13 / 13 / 2
Регистрация: 22.04.2010
Сообщений: 658
25.10.2014, 19:48  [ТС]
Цитата Сообщение от AsUWish Посмотреть сообщение
Переписывайте контейнер в зависимости от надобностей. Тот метод который я написал будет добавлять куки все которые у вас имеются. вы можете также записывать куки но без домена конструктор может принимать 3 аргумента.
Можете показать сам процесс перезаписи БЕЗ ДОМЕНОВ? Никогда не разбирал контейнер, интересно посмотреть.
0
Заблокирован
25.10.2014, 19:48
Вот же код

C#
1
2
foreach(Cookie cook in cookieContainer)
request.CookieContainer.Add(new Cookie(cook.name,cook.value,"/"));
0
13 / 13 / 2
Регистрация: 22.04.2010
Сообщений: 658
25.10.2014, 20:06  [ТС]
Цитата Сообщение от AsUWish Посмотреть сообщение
Вот же код
C#
1
2
foreach] (Cookie cook in nnc)
                request.CookieContainer.Add(new Cookie(cook.name, cook.value, "/"));
Ошибка 1 Оператор foreach не работает с переменными типа "System.Net.CookieContainer", поскольку "System.Net.CookieContainer" не содержит открытого определения для "GetEnumerator"

Ошибка 2 "System.Net.Cookie" не содержит определения для "name" и не был найден метод расширения "name", принимающий тип "System.Net.Cookie" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку)

Ошибка 3 "System.Net.Cookie" не содержит определения для "value" и не был найден метод расширения "value", принимающий тип "System.Net.Cookie" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку)
0
Заблокирован
25.10.2014, 20:08
хм в стандартных видимо нету итератора но это не суть вы можете пройти обычным циклом а переменные я из головы вспоминал напишите Name и Value и будет счастье
1
13 / 13 / 2
Регистрация: 22.04.2010
Сообщений: 658
25.10.2014, 20:40  [ТС]
Цитата Сообщение от AsUWish Посмотреть сообщение
хм в стандартных видимо нету итератора но это не суть вы можете пройти обычным циклом а переменные я из головы вспоминал напишите Name и Value и будет счастье
Что-то не получается у меня...

C#
1
2
3
4
for (int i = 0; i < cookieContainer.Count; i++)
            {
                request.CookieContainer.Add(new Cookie(Name, Value, "/"));
            }
Ошибка 1 Элемент "Value" не существует в текущем контексте.
0
Заблокирован
25.10.2014, 21:27
Ну естественно ж не существует вы обрашатся должны к элементу контейнера

C#
1
2
3
4
5
 CookieCollection coll = cookieContainer.GetCookies(new Uri("Тут сайт от которого нужны кукисы"));
 
           foreach(Cookie cook in coll){
                request.CookieContainer.Add(cook);
            }
Попробуйте так
0
13 / 13 / 2
Регистрация: 22.04.2010
Сообщений: 658
25.10.2014, 22:14  [ТС]
Цитата Сообщение от AsUWish Посмотреть сообщение
Попробуйте так
C#
1
2
3
4
5
6
CookieCollection coll = nnc.GetCookies(new Uri("http://***.net"));
 
            foreach (Cookie cook in coll)
            {
                request.CookieContainer.Add(cook);
            }
Посылает по прежнему одну из трех кук.

Как посмотреть весь контейнер а то только по uri?
0
Заблокирован
25.10.2014, 22:29
Я в процессе написания поста просматривал возможности на скорую руку не нашел как получить все кукисы

Попробуйте использовать библиотеку Viking.Engine там чуть по круче запросы можно воротить меньшим кодом. И у куков там реализован интерфейс IEnumerable
1
13 / 13 / 2
Регистрация: 22.04.2010
Сообщений: 658
25.10.2014, 23:40  [ТС]
Цитата Сообщение от AsUWish Посмотреть сообщение
Я в процессе написания поста просматривал возможности на скорую руку не нашел как получить все кукисы
Попробуйте использовать библиотеку Viking.Engine там чуть по круче запросы можно воротить меньшим кодом. И у куков там реализован интерфейс IEnumerable
cookieContaiter.Count выводит 3, значит в контейнере 3 куки.
Viking.Engine IEnumerable это для меня увы темный лес

Uri жует формат только http://site.ru
а в пришедших куках формат site.ru, может тут неувязка какая-то?

C#
1
2
3
4
 foreach (Cookie c in response.Cookies)
            {
                nnc.Add(c);
            }
Вроде как работает.

При первом запросе принять куки, а при втором отправить серверу Тема где описывается этот баг, видимо он и есть.
Пережал из запроса и контейнер и все заработало, багофикс поставить так и не смог.
Так или иначе спасибо за помощь.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.10.2014, 23:40
Помогаю со студенческими работами здесь

Куки, сессия? Нужно запомнитьв выбор value в селексе
Всем привет, может кто-то подскажет, перерыл форум но так и не понял более простого и понятного способа, как в форме запомнить выбранное...

Webbrowser не выдает все куки
Доброго времени суток, проблема заключается в том что, я авторизовываюсь с помощью webbrowser, получаю куки через...

Как очистить все куки?
Здравствуйте, специалисты! Помогите разобраться с, казалось бы, несложными вещами. Собственно, проблема в чём: нужно очистить все куки,...

Получить все куки (компонент)
Подскажите, как в билдере получить список всех кук в компоненте CookieManager? В дельфи это делается таким кодом for i := 0 to...

Cookies stealer, не знаю как сделать, чтобы стилил куки
var client = new SmtpClient(&quot;smtp.mail.ru&quot;, 2525); var credential = new NetworkCredential(&quot;skaska9090@mail.ru&quot;, &quot;password&quot;);...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru