Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/15: Рейтинг темы: голосов - 15, средняя оценка - 4.60
 Аватар для Alex_oo7
62 / 62 / 16
Регистрация: 18.10.2010
Сообщений: 240

Получение Cookies по HttpWebRequest

30.09.2011, 22:04. Показов 3004. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Решил я написать программу которая обменивает пароль и логин на кукисы,
но они почему то не приходят, хотя я полностью дублировал 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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
using System;
using System.IO;
using System.Net;
using System.Text;
using System.Data;
using System.Drawing;
using System.Threading;
using System.Windows.Forms;
using System.ComponentModel;
using System.Collections.Generic;
 
namespace FastDoorSaw
{
    public partial class Form1 : Form
    {
        public HttpWebRequest request;
        public HttpWebResponse response;
        public string SomeText_2;
        public byte[] byteArray;
        public Stream netStream;
        public string SomeText;
 
        public Form1()
        {
            InitializeComponent();
        }
 
        private string GetCook(string getmail, string getpass, string gethost)
        {
            string remixcook = "fail =(";
            try
            {
                request = (HttpWebRequest)WebRequest.Create(new Uri("http://" + gethost));
                request.AllowAutoRedirect = false;
                request.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; ru) Opera 8.50";
                request.ContentType = "application/x-www-form-urlencoded; charset=UTF-8";
                request.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
                request.Method = "GET";
                request.CookieContainer = new CookieContainer();
                response = (HttpWebResponse)request.GetResponse();
                SomeText = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding("windows-1251")).ReadToEnd();
 
                ////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 
                request = (HttpWebRequest)WebRequest.Create(new Uri("https://login." + gethost + ":443/?act=login"));
                SomeText_2 = "act=login&q=1&al_frame=1&expire=&captcha_sid=&captcha_key=&from_host=" + gethost + "&ip_h=" + SomeText.Substring(SomeText.IndexOf("ip_h: '") + 7, 18) + "&email=" + getmail + "&pass=" + getpass;
                request.Headers.Add("DNT", "1");
                request.Headers.Add("Accept-Encoding", "gzip, deflate");
                request.Headers.Add("Accept-Charset", "windows-1251,utf-8;q=0.7,*;q=0.7");
                request.Method = "POST";
                request.Referer = "http://" + gethost + "/al_index.php?act=auth_frame";
                byteArray = Encoding.UTF8.GetBytes(SomeText_2);
                request.ContentLength = byteArray.Length;
                Stream dataStream = request.GetRequestStream();
                dataStream.Write(byteArray, 0, byteArray.Length);
                dataStream.Close();
                request.AllowAutoRedirect = true;
                response = (HttpWebResponse)request.GetResponse();
                SomeText = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding("windows-1251")).ReadToEnd();
 
                foreach (Cookie c in response.Cookies)
                {
                    remixcook += "\r\n" + c.Name + " " + c.Value;
                }
            }
            catch (Exception lol)
            {
                MessageBox.Show(lol + "");
            }
            return remixcook;
        }        
 
        private void button1_Click(object sender, EventArgs e)
        {
            MessageBox.Show(GetCook("моёмыло%40gmail.com", "пароль", "vk.com"));
        }
    }
}
В ответ должны приходить куки "l=idчеловека" и "p=непонятныйхеш"
Но самое главное это строка для пере адресации:
"Location: http://vk.com/login.php?act=slogin&al_frame=1&hash=бук овкиициферки&s=1"

Попытался сделать запрос такого типа:

C#
1
2
3
4
5
6
7
8
9
request = (HttpWebRequest)WebRequest.Create(new Uri("http://" + gethost + "/login.php?act=login&q=1&al_frame=1&expire=&captcha_sid=&captcha_key=&from_host=" + gethost + "&ip_h=" + SomeText.Substring(SomeText.IndexOf("ip_h: '") + 7, 18) + "&email=" + getmail + "&pass=" + getpass));
request.Method = "POST"; //GET тоже побывал
request.AllowAutoRedirect = true;
response = (HttpWebResponse)request.GetResponse();
remixcook += "\r\n" + response.GetResponseHeader("Location");
foreach (Cookie c in response.Cookies)
                {
                    remixcook += "\r\n" + c.Name + " " + c.Value;
                }

Всё равно не кукисов, не Location
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
30.09.2011, 22:04
Ответы с готовыми решениями:

C# HttpWebRequest получение cookies при логировании на HTTPS
Всем привет! У меня такая проблема. Есть сайт http://... Программно пишу POST запрос для логирования (передаю в теле запроса логин и...

Получение HttpOnly Cookies в Awesomium
Используя браузер, захожу на сайт. Хотите сохранить все куки, затем использовать. Среди всех есть HttpOnly куки, так что с JS не поможет ....

Получение всех Cookies домена в Awesomium
привет JSValue cookie = webControl1.ExecuteJavascriptWithResult("document.cookie"); выдает только 1 куку но в базе данных сессии...

2
39 / 39 / 8
Регистрация: 11.05.2011
Сообщений: 78
01.10.2011, 23:40
C#
1
captcha_sid=&captcha_key=
передаешь нераспознаную капчу, следовательно не проходишь аутентификацию
0
 Аватар для WizarД
53 / 56 / 10
Регистрация: 07.02.2011
Сообщений: 556
Записей в блоге: 1
02.10.2011, 17:55
dartraven, вы не совсем правы.
У контакта капча появляется не всегда=>иногда поле с капчей пустое.
Предлагаю вам(ТС) детально посмотреть пакеты..
Ах да..
У контакта авторизация идет через get запрос....вы бы разобрались с этим для начала
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
02.10.2011, 17:55
Помогаю со студенческими работами здесь

Получение Cookies со страницы
Всем здравствуйте. При подключении к сайту через веб-браузер, в инспекторе сразу появляются Cookies, при чем в Request Headers, но...

Получение Cookies от отправки запроса
Всем привет !Как можно узнать дали ли данные куки или нет ,сам не когда не работал с ними static CookieContainer cooke = new...

Правильное получение и отправки Cookies
Всем привет. Ребят, подскажите, правильно ли вот так получать куки и отправлять их в запросе? CookieContainer cookies = new...

Получение Cookies из параллельно-запущенной программы
Привет! Тема такая. Имеется две программы, X и Y. Обе на C#. Программа X содержит в себе компонент WebBrowser, в котором открыта...

HttpWebRequest - получение данных с сайта
День добрый! Была написана страничка несколько лет назад, получала погоду с сайта https://www.accuweather.com/ парсила ее как надо,...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
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