|
Начал писать на С# нужна помощь! - Вопросы и ответы, обсуждения - Ваши вопросы по C# только в данном разделе |
13.02.2011, 17:12
|
#1
|
|
|
|
Разведчик
|
Регистрация: 30.01.2011
Сообщений: 11
Популярность: 52
Сказал(а) спасибо: 2
Поблагодарили 21 раз(а) в 14 сообщениях
|
Начал писать на С# нужна помощь!
цель программы - авторизоваться в контакте, зайти в приложение (тюряга), вытащить auth key и закрыть сессию, и вывести всё в тест бокс
вот что пока-что написал
Код:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Net;
using System.IO;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
}
private void textBox2_TextChanged(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
string email = textBox1.Text;
string pass = textBox2.Text;
string url_vk = "http://vkontakte.ru/";
HttpWebRequest Request = (HttpWebRequest)HttpWebRequest.Create(url_vk);
HttpWebResponse Response = (HttpWebResponse)Request.GetResponse();
CookieCollection cookies = response.Cookies;
}
private void textBox3_TextChanged(object sender, EventArgs e)
{
}
}
}
Теперь вопрос, как присвоить HTTP запрос на button1 ?
и ещё, вот такой запрос нужно сделать
act=login&q=1&al_frame=1&expire=&captcha_sid=&capt cha_key=&from_host=vkontakte.ru&email=МЫЛО&pass=ПА РОЛЬ
вместо МЫЛО - переменная email, вместо ПАРОЛЬ - переменная pass
________________
ПОМОГ? ПОСТАВЬ "СПАСИБО"!
Последний раз редактировалось Deep45; 13.02.2011 в 18:37.
Причина: дописал код
|
|
|
13.02.2011, 19:05
|
#2
|
|
|
|
Сержант
|
Регистрация: 20.09.2010
Сообщений: 106
Популярность: 172
Золото Zhyk.Ru: 50
Сказал(а) спасибо: 17
Поблагодарили 82 раз(а) в 50 сообщениях
|
Re: Начал писать на С# нужна помощь!
|
|
|
13.02.2011, 19:32
|
#3
|
|
|
|
Разведчик
|
Регистрация: 30.01.2011
Сообщений: 11
Популярность: 52
Сказал(а) спасибо: 2
Поблагодарили 21 раз(а) в 14 сообщениях
|
Re: Начал писать на С# нужна помощь!
Код:
private void button1_Click(object sender, EventArgs e)
{
string email = textBox1.Text;
string pass = textBox2.Text;
String secondStepForm = "act=login&q=1&al_frame=1&expire=&captcha_sid=&captcha_key=&from_host=vkontakte.ru&email=" + email + "&pass=" + pass;
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://vkontakte.ru/login.php");
}
это правильная авторизация??
________________
ПОМОГ? ПОСТАВЬ "СПАСИБО"!
|
|
|
13.02.2011, 19:44
|
#4
|
|
|
|
Разведчик
|
Регистрация: 03.06.2010
Сообщений: 3
Популярность: 12
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
|
Re: Начал писать на С# нужна помощь!
да!
|
|
|
13.02.2011, 20:13
|
#5
|
|
|
|
Разведчик
|
Регистрация: 30.01.2011
Сообщений: 11
Популярность: 52
Сказал(а) спасибо: 2
Поблагодарили 21 раз(а) в 14 сообщениях
|
Re: Начал писать на С# нужна помощь!
Код:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Net;
using System.IO;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
}
private void textBox2_TextChanged(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
string email = textBox1.Text;
string pass = textBox2.Text;
string formParams = "email=" + email + "&pass=" + pass;
HttpWebRequest request = (HttpWebRequest)
WebRequest.Create("http://vkontakte.ru/login.php");
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.CookieContainer = new CookieContainer();
request.ContentLength = formParams.Length;
StreamWriter newStream = new StreamWriter(request.GetRequestStream());
newStream.Write(formParams);
newStream.Close();
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
request = (HttpWebRequest)WebRequest.Create("http://vkontakte.ru/app1979194");
HttpWebResponse response2 = (HttpWebResponse)request.GetResponse();
request = (HttpWebRequest)WebRequest.Create("http://109.234.155.196/prison/universal.php?initGame");
HttpWebResponse response3 = (HttpWebResponse)request.GetResponse();
string otvet = new StreamReader(response3.GetResponseStream(), Encoding.UTF8).ReadToEnd();
MessageBox.Show(otvet);
}
}
}
переписал авторизацию, т.к. та вроде не правильно работала.
сделал второй и третий запросы к приложению, и на сервер приложения, в ответ должно придтти что то вроде user=1234567&key=1234QWERTY&sig=...
а мне в ответ приходит то что на скрине...
в чём ошибка??
________________
ПОМОГ? ПОСТАВЬ "СПАСИБО"!
Последний раз редактировалось Deep45; 14.02.2011 в 12:00.
|
|
|
14.02.2011, 14:37
|
#6
|
|
|
|
Сержант
|
Регистрация: 20.09.2010
Сообщений: 106
Популярность: 172
Золото Zhyk.Ru: 50
Сказал(а) спасибо: 17
Поблагодарили 82 раз(а) в 50 сообщениях
|
Re: Начал писать на С# нужна помощь!
нет,не правильно.принцип правильный,но работать не будет
при аторизации контакт присылает печеньку,главной переменной которой является идентификатор сессии(sid).его надо передавать потом в хидере при любом пост-запросе
|
|
|
15.02.2011, 15:49
|
#7
|
|
|
|
Сержант
|
Регистрация: 20.07.2010
Сообщений: 137
Популярность: 26409
Сказал(а) спасибо: 52
Поблагодарили 566 раз(а) в 197 сообщениях
|
Re: Начал писать на С# нужна помощь!
Скорее всего дальше идет редирект, который тут не обрабатывается.
Я с контактом не знаком, но действительно:
если нет возможности пройти по новому адресу, можно проанализировать полученные куки.
Последний раз редактировалось Рэйзор; 15.02.2011 в 15:54.
Причина: Добавлено сообщение
|
|
|
24.02.2011, 10:20
|
#8
|
|
|
|
Рыцарь-лейтенант
|
Регистрация: 21.06.2010
Сообщений: 425
Популярность: 1817
Сказал(а) спасибо: 247
Поблагодарили 566 раз(а) в 147 сообщениях
|
Re: Начал писать на С# нужна помощь!
поставь прокси чарлеза, посмари ответы
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Заявление об ответственности / Список мошенников
Часовой пояс GMT +4, время: 17:40.
|
|