Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# .NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.54/13: Рейтинг темы: голосов - 13, средняя оценка - 4.54
Aneonfas
8 / 8 / 2
Регистрация: 23.12.2013
Сообщений: 101
1

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

24.07.2014, 22:48. Просмотров 2352. Ответов 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
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.07.2014, 22:48
Ответы с готовыми решениями:

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

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

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

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

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

8
XRoy
862 / 712 / 305
Регистрация: 15.04.2013
Сообщений: 2,047
Записей в блоге: 5
24.07.2014, 23:25 2
Aneonfas,
C#
1
2
3
4
5
6
CookieContainer cookies = new CookieContainer();
            
            // Отправляем куки
            ((HttpWebRequest) req).CookieContainer = cookies;
            // Забираем куки
            cookies = ((HttpWebResponse) res).CookieContainer;
0
Aneonfas
8 / 8 / 2
Регистрация: 23.12.2013
Сообщений: 101
24.07.2014, 23:39  [ТС] 3
.CookieContainer выдает ошибку, как это использовать?
0
XRoy
862 / 712 / 305
Регистрация: 15.04.2013
Сообщений: 2,047
Записей в блоге: 5
25.07.2014, 01:20 4
Aneonfas,
Какую ошибку выдает?
CoockieContainer выступает как хранилище куков сохраняете при ответе сервера, и отдаете их при запросе.
0
25.07.2014, 01:20
Aneonfas
8 / 8 / 2
Регистрация: 23.12.2013
Сообщений: 101
25.07.2014, 08:08  [ТС] 5
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_
73 / 73 / 30
Регистрация: 22.03.2013
Сообщений: 224
25.07.2014, 09:09 6
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
Aneonfas
8 / 8 / 2
Регистрация: 23.12.2013
Сообщений: 101
25.07.2014, 10:50  [ТС] 7
Я понимаю, но проблема не в этом, а в
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
Psilon
Master of Orion
Эксперт .NET
6035 / 4889 / 903
Регистрация: 10.07.2011
Сообщений: 14,477
Записей в блоге: 5
Завершенные тесты: 4
25.07.2014, 13:11 8
Aneonfas,
C#
1
var req = (HttpWebRequest) WebRequest.Create(Url);
0
Tini
51 / 12 / 0
Регистрация: 05.09.2014
Сообщений: 92
17.06.2015, 16:19 9
Aneonfas, вы решили проблему ? Столкнулся с тем же. Предложенные решения не подходят.
C#
1
Неявное преобразование типа "System.Net.CookieCollection" в "System.Net.CookieContainer" невозможно
Через отладчик видно, что необходимые данные в ответе есть. Они хранятся в ArrayList внутри CookieCollection, но не могу понять, как их оттуда извлечь. CookieContainer хранит в себе объекты типа CookieCollection, используя домены в качестве ключей. Явное приведение здесь не подходит. При попытке добавить CookieCollection в CookieContainer через add, нужные данные не передаются. Ребят, кто разбирается, помогите понять.

Добавлено через 31 минуту
Извиняюсь, данные присутствуют, но вопрос о том, как их извлечь остается.
0
17.06.2015, 16:19
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.06.2015, 16:19

Отправка POST-запроса авторизации, и клики по сайту
Здравствуйте дорогие форумчане, мне нужно программно авторизоваться на сайте goldenbirds.biz и...

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

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


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru