Далее переходим опять в дизайнер приложения,и вешаем обработчик события нажатия мыши на кнопку(кливаем по кнопке 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;
using System.IO;
using System.Text.RegularExpressions;
Теперь перед конструктором обьявим переменные,которые нам понадобятся
Код:
string sid;
Cookie cook;
И добавим в наш обработчик события самый главный код
Код:
//создаем запрос
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
MessageBox.Show("Успешно авторизировались");
Если все сделали правильно,ввели правильные данные,то мы успешно авторизируемся Вконтакте.
Итак,мы успешно аторизировались вконтакте,получили из возвращенных печенек самую главную переменную-идентификатор сессии(sid).Объявив эту переменную глобально,мы можем получить к ней доступ из любой функции класса.А она нам нужна для ЛЮБОГО!!!! запроса на сервер контакта.Далее можем выполнять любые нужные нам действия
С Вами был Cherinho,удачи начинающим кодерам
П.С.:оставляйте заявки на гайды и проги(только которые естественно будут не очень затратны по времени написания),которые будут полезны пользователям жука в личку или лучше в аську.По возможности буду реализовывать
П.С.С.:проги только под контакт,приложения контакта,или для компа.для других онлайн-игр делать не буду,леньки
etc.:За символическое финансовое вложение в создание этого гайда спасибо пользователю Deep45
Cherinho(c) 2011
Так же если потом вам надо сделать запрос с текущими куками, не забывайте добавлять их!
Если нам надо например зайти на приложение в контакте и вытянуть сид, нам надо подставить куки к запросу, которые мы получили при логине.
________________
We are Ducks. We are birds. We like bread. We cryack. Cryack.
Вот у меня проблема , вроде бы все правильно делаю , но когда ввожу правильный лог и пасс , пишет все норм и не авторизует =(
Но когда пишешьне правильно все норм пишет неправильно , в чем проблема?
Ща скрин кину :
[Ссылки могут видеть только зарегистрированные пользователи. ]
[Ссылки могут видеть только зарегистрированные пользователи. ]
Вот у меня проблема , вроде бы все правильно делаю , но когда ввожу правильный лог и пасс , пишет все норм и не авторизует =(
Но когда пишешьне правильно все норм пишет неправильно , в чем проблема?
Ща скрин кину :
[Ссылки могут видеть только зарегистрированные пользователи. ]
[Ссылки могут видеть только зарегистрированные пользователи. ]
попробуй скачать мой готовый проект(во вложениях в первом посте),и проверить работоспособность там
попробуй скачать мой готовый проект(во вложениях в первом посте),и проверить работоспособность там
Ну ты же наверное на 2010 писал???
А у меня 2008 , пробывал скачивать надо какой-то пакет обновлений =(
И еще , я с твоей проги пробывал войти , тот же эффект =(
Последний раз редактировалось nfnmzybx; 26.02.2011 в 13:11.
посмотри через чарлик что там посылается в запросе и приходит в ответе
п.с.:еще я заметил такую особенность,что если в пароле есть знак '%',то при отправке запроса в этот пароль вставляются знаки дополнительные