Регистрация Главная Сообщество
Сообщения за день Справка Регистрация
Навигация
Zhyk.org LIVE! Реклама на Zhyk.org Правила Форума Награды и достижения Доска "почета"

Авторизация и использование cookie в контакте на C#.

-

Школа Читера

- Основы основ - начинаем писать статьи для начинающих с целью создания полноценного раздела

Ответ
 
Опции темы
Старый 11.07.2011, 21:01   #1
 Разведчик
Аватар для maksy
 
maksy вызывает надежду
Регистрация: 26.07.2010
Сообщений: 2
Популярность: -28
Сказал(а) спасибо: 11
Поблагодарили 4 раз(а) в 4 сообщениях
 
Question Авторизация и использование cookie в контакте на C#.

Итак,хочу написать программу для добавления сообщения на стену на C#
Код:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Net;
using System.IO;
using System.Text.RegularExpressions;

namespace VK_Auth
{
    public partial class Form1 : Form
    {
        string sid;
        Cookie cook;
        public Form1()
        {
            InitializeComponent();
            f2 = new Form2();
            label1.Text = "Email:";
            label1.Font = new Font(label1.Font.FontFamily, 12, FontStyle.Bold);
            label2.Text = "Password:";
            label2.Font = new Font(label2.Font.FontFamily,12, FontStyle.Bold);
            button1.Text = "Login";
        }
        Form2 f2;
        private void button1_Click(object sender, EventArgs e)
        {
            //создаем запрос
            HttpWebRequest wrGETURL = (HttpWebRequest)System.Net.WebRequest.Create("http://vkontakte.ru/login.php?m=1&email=" + textBox1.Text + "&pass=" + textBox2.Text);
            //выставляем значения Headers
            //Запрещаем редирект
            wrGETURL.AllowAutoRedirect = false;
            //Выставляем таймаут
            wrGETURL.Timeout = 100000;
            //получаем Headers,пришедшие в ответе
            string headers = wrGETURL.GetResponse().Headers.ToString();
            //получаем весь ответ
            HttpWebResponse myHttpWebResponse = (HttpWebResponse)wrGETURL.GetResponse();
            //записываем ответ в поток
            StreamReader myStreamReadermy = new StreamReader(myHttpWebResponse.GetResponseStream(), Encoding.GetEncoding(1251));
            //запихиваем ответ в строку
            string page = myStreamReadermy.ReadToEnd();
            //это регулярное выражение,которое выдирает из переменной headers(а ее мы получили выше) значение sid
            Regex sidregex = new Regex("sid=([a-z0-9]+); exp");
            Match ssid = sidregex.Match(headers);
            sid = ssid.Groups[1].Value;
            //инициализируем куки
            cook = new Cookie("remixsid", sid);
            //тоже самое,куки пишем
            cook.Domain = "vkontakte.ru";
            //проверяем,получили ли мы нужную переменную в куки
            if (String.IsNullOrEmpty(sid))
                MessageBox.Show("Чето не получается авторизироваться");
            else
                f2.Show();
        }
    }
}
Форма 1 идет авторизация через вк,как я понял куки тут уже получены,мне надо их как то сохранить для использования в форме 2
Код:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Net;

namespace VK_Auth
{
    public partial class Form2 : Form
    {
        public Form2()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        { 
            // Формируем строку с параметрами
            String secondStepForm = "act=post&al=1&facebook_export=&friends_only=&hash=5ecab99058d0d689fe&message=Пример&note_title=&official=&status_export=&to_id=ЗАСЕКРЕЧЕН))&type=own";
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://vkontakte.ru/al_wall.php");
            // Настраиваем параметры запроса
            request.UserAgent = "Opera/9.80";
            request.Method = "POST";
            // Указываем тип отправляемых данных
            request.ContentType = "application/x-www-form-urlencoded";
            // Преобразуем данные к соответствующую кодировку
            byte[] EncodedPostParams = Encoding.ASCII.GetBytes(secondStepForm);
            request.ContentLength = EncodedPostParams.Length;
            // Записываем данные в поток
            request.GetRequestStream().Write(EncodedPostParams, 0, EncodedPostParams.Length);
            request.GetRequestStream().Close();
        }
    }
}
Форма,тут отправляется post запрос на добавление сообщения,но он не работает так как надо впихать cookie в код. Вот в чем вопрос как из формы 1 сохранить cookie и впихать в форму 2 при отправки сообщения?
P.S если можно сразу исправленый код))
P.SS все коды взял с жука)
  Ответить с цитированием
Старый 13.07.2011, 01:27   #2
 Сержант
Аватар для Cherinho
 
Cherinho на правильном путиCherinho на правильном пути
Регистрация: 20.09.2010
Сообщений: 106
Популярность: 172
Золото Zhyk.Ru: 50
Сказал(а) спасибо: 17
Поблагодарили 82 раз(а) в 50 сообщениях
Отправить сообщение для Cherinho с помощью ICQ
 
По умолчанию Re: Авторизация и использование cookie в контакте на C#.

передавай в конструктор Form2 параметр cookie и все
  Ответить с цитированием
Пользователь сказал cпасибо:
maksy (27.07.2011)
Старый 17.07.2011, 19:39   #3
 Разведчик
Аватар для maksy
 
maksy вызывает надежду
Регистрация: 26.07.2010
Сообщений: 2
Популярность: -28
Сказал(а) спасибо: 11
Поблагодарили 4 раз(а) в 4 сообщениях
 
По умолчанию Re: Авторизация и использование cookie в контакте на C#.

Цитата:
Сообщение от CherinhoПосмотреть сообщение
передавай в конструктор Form2 параметр cookie и все

Как именно?
  Ответить с цитированием
Старый 18.07.2011, 03:24   #4
 Сержант
Аватар для Cherinho
 
Cherinho на правильном путиCherinho на правильном пути
Регистрация: 20.09.2010
Сообщений: 106
Популярность: 172
Золото Zhyk.Ru: 50
Сказал(а) спасибо: 17
Поблагодарили 82 раз(а) в 50 сообщениях
Отправить сообщение для Cherinho с помощью ICQ
 
По умолчанию Re: Авторизация и использование cookie в контакте на C#.

Цитата:
Сообщение от maksyПосмотреть сообщение
Код:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Net;
using System.IO;
using System.Text.RegularExpressions;

namespace VK_Auth
{
    public partial class Form1 : Form
    {
        string sid;
        Cookie cook;
        public Form1()
        {
            InitializeComponent();
            label1.Text = "Email:";
            label1.Font = new Font(label1.Font.FontFamily, 12, FontStyle.Bold);
            label2.Text = "Password:";
            label2.Font = new Font(label2.Font.FontFamily,12, FontStyle.Bold);
            button1.Text = "Login";
        }
        
        private void button1_Click(object sender, EventArgs e)
        {
            //создаем запрос
            HttpWebRequest wrGETURL = (HttpWebRequest)System.Net.WebRequest.Create("http://vkontakte.ru/login.php?m=1&email=" + textBox1.Text + "&pass=" + textBox2.Text);
            //выставляем значения Headers
            //Запрещаем редирект
            wrGETURL.AllowAutoRedirect = false;
            //Выставляем таймаут
            wrGETURL.Timeout = 100000;
            //получаем Headers,пришедшие в ответе
            string headers = wrGETURL.GetResponse().Headers.ToString();
            //получаем весь ответ
            HttpWebResponse myHttpWebResponse = (HttpWebResponse)wrGETURL.GetResponse();
            //записываем ответ в поток
            StreamReader myStreamReadermy = new StreamReader(myHttpWebResponse.GetResponseStream(), Encoding.GetEncoding(1251));
            //запихиваем ответ в строку
            string page = myStreamReadermy.ReadToEnd();
            //это регулярное выражение,которое выдирает из переменной headers(а ее мы получили выше) значение sid
            Regex sidregex = new Regex("sid=([a-z0-9]+); exp");
            Match ssid = sidregex.Match(headers);
            sid = ssid.Groups[1].Value;
            //инициализируем куки
            cook = new Cookie("remixsid", sid);
            //тоже самое,куки пишем
            cook.Domain = "vkontakte.ru";
            //проверяем,получили ли мы нужную переменную в куки
            if (String.IsNullOrEmpty(sid))
                MessageBox.Show("Чето не получается авторизироваться");
            else
{
Form2 f2=new Form2(cook);
                f2.Show();
        }
    }
}
Код:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Net;

namespace VK_Auth
{
    public partial class Form2 : Form
    {
Cookie cook;
        public Form2(Cookie c)
        {
            InitializeComponent();
cook=c;
        }

        private void button1_Click(object sender, EventArgs e)
        { 
            // Формируем строку с параметрами
            String secondStepForm = "act=post&al=1&facebook_export=&friends_only=&hash=5ecab99058d0d689fe&message=Пример&note_title=&official=&status_export=&to_id=ЗАСЕКРЕЧЕН))&type=own";
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://vkontakte.ru/al_wall.php");
            // Настраиваем параметры запроса
            request.UserAgent = "Opera/9.80";
            request.Method = "POST";
            // Указываем тип отправляемых данных
            request.ContentType = "application/x-www-form-urlencoded";
            // Преобразуем данные к соответствующую кодировку
            byte[] EncodedPostParams = Encoding.ASCII.GetBytes(secondStepForm);
            request.ContentLength = EncodedPostParams.Length;
            // Записываем данные в поток
            request.GetRequestStream().Write(EncodedPostParams, 0, EncodedPostParams.Length);
            request.GetRequestStream().Close();
        }
    }
}

все,дальше в form2 работай с теми куки,которые получил в form1
  Ответить с цитированием
Пользователь сказал cпасибо:
maksy (27.07.2011)
Старый 19.07.2011, 20:08   #5
 Разведчик
Аватар для maksy
 
maksy вызывает надежду
Регистрация: 26.07.2010
Сообщений: 2
Популярность: -28
Сказал(а) спасибо: 11
Поблагодарили 4 раз(а) в 4 сообщениях
 
По умолчанию Re: Авторизация и использование cookie в контакте на C#.

Цитата:
Сообщение от CherinhoПосмотреть сообщение
все,дальше в form2 работай с теми куки,которые получил в form1

Ну а как!? Я новенький в c# и с куками дела не имел,мне просто код кинь(желательно мой дополненый) и я сам разберусь.
  Ответить с цитированием
Старый 20.07.2011, 01:24   #6
 Сержант
Аватар для Cherinho
 
Cherinho на правильном путиCherinho на правильном пути
Регистрация: 20.09.2010
Сообщений: 106
Популярность: 172
Золото Zhyk.Ru: 50
Сказал(а) спасибо: 17
Поблагодарили 82 раз(а) в 50 сообщениях
Отправить сообщение для Cherinho с помощью ICQ
 
По умолчанию Re: Авторизация и использование cookie в контакте на C#.

Код:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Net;
using System.IO;
using System.Text.RegularExpressions;

namespace VK_Auth
{
    public partial class Form1 : Form
    {
        string sid;
        Cookie cook;
        public Form1()
        {
            InitializeComponent();
            label1.Text = "Email:";
            label1.Font = new Font(label1.Font.FontFamily, 12, FontStyle.Bold);
            label2.Text = "Password:";
            label2.Font = new Font(label2.Font.FontFamily,12, FontStyle.Bold);
            button1.Text = "Login";
        }
        
        private void button1_Click(object sender, EventArgs e)
        {
            //создаем запрос
            HttpWebRequest wrGETURL = (HttpWebRequest)System.Net.WebRequest.Create("http://vkontakte.ru/login.php?m=1&email=" + textBox1.Text + "&pass=" + textBox2.Text);
            //выставляем значения Headers
            //Запрещаем редирект
            wrGETURL.AllowAutoRedirect = false;
            //Выставляем таймаут
            wrGETURL.Timeout = 100000;
            //получаем Headers,пришедшие в ответе
            string headers = wrGETURL.GetResponse().Headers.ToString();
            //получаем весь ответ
            HttpWebResponse myHttpWebResponse = (HttpWebResponse)wrGETURL.GetResponse();
            //записываем ответ в поток
            StreamReader myStreamReadermy = new StreamReader(myHttpWebResponse.GetResponseStream(), Encoding.GetEncoding(1251));
            //запихиваем ответ в строку
            string page = myStreamReadermy.ReadToEnd();
            //это регулярное выражение,которое выдирает из переменной headers(а ее мы получили выше) значение sid
            Regex sidregex = new Regex("sid=([a-z0-9]+); exp");
            Match ssid = sidregex.Match(headers);
            sid = ssid.Groups[1].Value;
            //инициализируем куки
            cook = new Cookie("remixsid", sid);
            //тоже самое,куки пишем
            cook.Domain = "vkontakte.ru";
            //проверяем,получили ли мы нужную переменную в куки
            if (String.IsNullOrEmpty(sid))
                MessageBox.Show("Чето не получается авторизироваться");
            else
{
Form2 f2=new Form2(cook);
                f2.Show();
        }
    }
}
Код:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Net;

namespace VK_Auth
{
    public partial class Form2 : Form
    {
CookieContainer cc=new CookieContainer();
Cookie cook;
        public Form2(Cookie c)
        {
            InitializeComponent();
cook=c;
        }

        private void button1_Click(object sender, EventArgs e)
        { 
cc.Add(cook);
            // Формируем строку с параметрами
            String secondStepForm = "act=post&al=1&facebook_export=&friends_only=&hash=5ecab99058d0d689fe&message=Пример&note_title=&official=&status_export=&to_id=ЗАСЕКРЕЧЕН))&type=own";
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://vkontakte.ru/al_wall.php");
request.CookieContainer=cc;
            // Настраиваем параметры запроса
            request.UserAgent = "Opera/9.80";
            request.Method = "POST";
            // Указываем тип отправляемых данных
            request.ContentType = "application/x-www-form-urlencoded";
            // Преобразуем данные к соответствующую кодировку
            byte[] EncodedPostParams = Encoding.ASCII.GetBytes(secondStepForm);
            request.ContentLength = EncodedPostParams.Length;
            // Записываем данные в поток
            request.GetRequestStream().Write(EncodedPostParams, 0, EncodedPostParams.Length);
            request.GetRequestStream().Close();
        }
    }
}
вот
  Ответить с цитированием
Пользователь сказал cпасибо:
maksy (27.07.2011)
Старый 21.07.2011, 16:58   #7
 Разведчик
Аватар для maksy
 
maksy вызывает надежду
Регистрация: 26.07.2010
Сообщений: 2
Популярность: -28
Сказал(а) спасибо: 11
Поблагодарили 4 раз(а) в 4 сообщениях
 
По умолчанию Re: Авторизация и использование cookie в контакте на C#.

Спасибо,попробую.
  Ответить с цитированием
Ответ

Метки
авторизация, вконтакте, post


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Помогите!] Авторизация Вконтакте codiBB Вопросы и ответы, обсуждения 3 07.07.2011 05:50
[Помогите!] Авторизация и бот BinKz Вопросы и ответы, обсуждения 7 10.05.2011 18:56
[Помогите!] Прикрепить Cookie.Container и другие параметры nikitoz Школа Читера 7 16.04.2011 23:55
[Help] ФГ авторизация manstrrr Вопросы и ответы: RF Online 1 03.12.2009 22:06

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 12:14.

Пишите нам: [email protected]
Copyright © 2024 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net