Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/21: Рейтинг темы: голосов - 21, средняя оценка - 4.62
8 / 8 / 2
Регистрация: 23.12.2013
Сообщений: 101

Отправка POST запроса и получение куки

24.07.2014, 22:48. Показов 4183. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Стоит задача залогиниться на сайте https://lk2.service.nalog.ru/lk/index.html, используя метод POST (функция ниже), однако в ответ получаю все ту же страницу. Как в ответ получить куки?



C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
POST("https://lk2.service.nalog.ru/lk/index.html", "username=000000000000&password=12345&__checkbox_rememberMe=true");
 
       private string POST(string Url, string Data)
        {
            WebRequest req = WebRequest.Create(Url);
            req.Method = "POST";
            req.Timeout = 100000;
            req.ContentType = "application/x-www-form-urlencoded";
            byte[] sentData = Encoding.GetEncoding(1251).GetBytes(Data);
            req.ContentLength = sentData.Length;
            Stream sendStream = req.GetRequestStream();
            sendStream.Write(sentData, 0, sentData.Length);
            sendStream.Close();
            WebResponse res = req.GetResponse();
            Stream ReceiveStream = res.GetResponseStream();
            StreamReader sr = new StreamReader(ReceiveStream, Encoding.UTF8);
       
            Char[] read = new Char[256];
            int count = sr.Read(read, 0, 256);
            string Out = String.Empty;
 
            while (count > 0)
            {
                String str = new String(read, 0, count);
                Out += str;
                count = sr.Read(read, 0, 256);
            }
            return Out;
        }
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
24.07.2014, 22:48
Ответы с готовыми решениями:

Отправка POST запроса и получение ответа
Есть проблема. Нужно отправить на сайт POST запрос и в зависимости от этого запроса сайт выдает ответ(обычный echo). Нужно отправить...

Отправка POST запроса
Всем привет, нужно сделать код на C# чтобы он отправлял post запрос со следующим содержимым.

Отправка POST запроса
Прошу помощи, срочно !!! Нужно отправить POST запрос сайту, но POST запрос состоит в виде JSON. Ниже скриншот, что я поймал через сниффер....

8
871 / 721 / 304
Регистрация: 15.04.2013
Сообщений: 2,047
Записей в блоге: 5
24.07.2014, 23:25
Aneonfas,
C#
1
2
3
4
5
6
CookieContainer cookies = new CookieContainer();
            
            // Отправляем куки
            ((HttpWebRequest) req).CookieContainer = cookies;
            // Забираем куки
            cookies = ((HttpWebResponse) res).CookieContainer;
0
8 / 8 / 2
Регистрация: 23.12.2013
Сообщений: 101
24.07.2014, 23:39  [ТС]
.CookieContainer выдает ошибку, как это использовать?
0
871 / 721 / 304
Регистрация: 15.04.2013
Сообщений: 2,047
Записей в блоге: 5
25.07.2014, 01:20
Aneonfas,
Какую ошибку выдает?
CoockieContainer выступает как хранилище куков сохраняете при ответе сервера, и отдаете их при запросе.
0
8 / 8 / 2
Регистрация: 23.12.2013
Сообщений: 101
25.07.2014, 08:08  [ТС]
C#
1
Ошибка    1   "System.Net.HttpWebResponse" не содержит определение для "CookieContainer". Не удалось найти метод  расширения "CookieContainer", принимающий первый аргумент типа "System.Net.HttpWebResponse"  (пропущена директива using или ссылка на сборку?)

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
        private string POST(string Url, string Data)
        {
            WebRequest req = WebRequest.Create(Url);
            req.Method = "POST";
            req.Timeout = 100000;
            req.ContentType = "application/x-www-form-urlencoded";
            byte[] sentData = Encoding.GetEncoding(1251).GetBytes(Data);
            req.ContentLength = sentData.Length;
            Stream sendStream = req.GetRequestStream();
            sendStream.Write(sentData, 0, sentData.Length);
            sendStream.Close();
 
            WebResponse res = req.GetResponse();
 
 
 
            CookieContainer cookies = new CookieContainer();
 
            cookies = ((HttpWebResponse)res).CookieContainer;
 
           
            return cookies;
        }
0
 Аватар для Nevermore_
74 / 74 / 30
Регистрация: 22.03.2013
Сообщений: 224
25.07.2014, 09:09
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
private CookieContainer POST(string Url, string Data) //Возвращаемый тип не строка
        {
            WebRequest req = WebRequest.Create(Url);
            req.Method = "POST";
            req.Timeout = 100000;
            req.ContentType = "application/x-www-form-urlencoded";
            byte[] sentData = Encoding.GetEncoding(1251).GetBytes(Data);
            req.ContentLength = sentData.Length;
            Stream sendStream = req.GetRequestStream();
            sendStream.Write(sentData, 0, sentData.Length);
            sendStream.Close();
            req.CookieContainer=new CookieContainer();
            HttpWebResponse res = (HttpWebResponse)req.GetResponse();
 
 
 
            CookieContainer cookies = new CookieContainer();
 
            cookies = res.Cookies;
 
           
            return cookies;
        }
0
8 / 8 / 2
Регистрация: 23.12.2013
Сообщений: 101
25.07.2014, 10:50  [ТС]
Я понимаю, но проблема не в этом, а в
C#
1
2
3
Ошибка    1   "System.Net.WebRequest" не содержит определение для "CookieContainer". Не удалось найти метод  расширения "CookieContainer", принимающий первый аргумент типа "System.Net.WebRequest"  (пропущена директива using или ссылка на сборку?)   
 
Ошибка    2   Неявное преобразование типа "System.Net.CookieCollection" в "System.Net.CookieContainer" невозможно
Добавлено через 1 минуту
Конкретно ему не нравится эта строка
C#
1
 req.CookieContainer=new CookieContainer();
Добавлено через 1 час 18 минут
Похожее с кодом из этой темы Авторизация и вход на сайт

Говорит не удалось найти пространство имен для CookieWebClient

GetWebRequest - "System.Windows.Forms.Form" не содержит определение для "GetWebRequest"

CookieContainer -"System.Net.CookieContainer" является "тип", но используется как "переменная"

пространство System.Net использую.

Может с VS что-то не так?
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6101 / 4957 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
25.07.2014, 13:11
Aneonfas,
C#
1
var req = (HttpWebRequest) WebRequest.Create(Url);
0
52 / 13 / 0
Регистрация: 05.09.2014
Сообщений: 92
17.06.2015, 16:19
Aneonfas, вы решили проблему ? Столкнулся с тем же. Предложенные решения не подходят.
C#
1
Неявное преобразование типа "System.Net.CookieCollection" в "System.Net.CookieContainer" невозможно
Через отладчик видно, что необходимые данные в ответе есть. Они хранятся в ArrayList внутри CookieCollection, но не могу понять, как их оттуда извлечь. CookieContainer хранит в себе объекты типа CookieCollection, используя домены в качестве ключей. Явное приведение здесь не подходит. При попытке добавить CookieCollection в CookieContainer через add, нужные данные не передаются. Ребят, кто разбирается, помогите понять.

Добавлено через 31 минуту
Извиняюсь, данные присутствуют, но вопрос о том, как их извлечь остается.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.06.2015, 16:19
Помогаю со студенческими работами здесь

Отправка post-запроса С#
Доброго времени суток всем! Пытаюсь отправить пост-запрос на сайт. По идее в ответ должно придти что-то осмысленное, но приходить...

Отправка POST запроса
Мне необходимо сделать ПО для авторегистрации на одном из сайтов. Делаю подобное первый раз. При попытке отправить пост запрос с данными на...

Отправка Post запроса (игра vk)
Подскажет кто где найти метод шифрования данных в игре Вконтакте дота 2: пудж а то пост запрос при нажатии любой кнопки отправляется у них...

Http POST отправка файла в теле запроса
Всем привет! Пытаюсь отправить файл на сервер, но со стороны сервера мне говорят, что нужно отправлять файл в теле запроса, не пойму как...

Разделение login:pass и отправка post запроса
Я все пытаюсь понять как нормально брать файлы login:pass из файла и потом уже работать с ними(в данном случае отправлять пост запросы...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США. Нашел на реддите интересную статью под названием «Кто-нибудь знает, где получить бесплатный компьютер или. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
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 - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru