PDA

Просмотр полной версии : [C#]Авторизация vkontakte.ru


GanWorld
28.03.2010, 20:45
Помогите написать программу для авторизации на сайте vkontakte.ru.

----------------------------------------------------------
http://login.vk.com/?act=login

POST /?act=login HTTP/1.1
Host: login.vk.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; ru; rv:1.9.1.8) Gecko/20100202 MRA 5.5 (build 02842) Firefox/3.5.8 GTB6
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: ru,en-us;q=0.7,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: http://vkontakte.ru/index.php
Content-Type: application/x-www-form-urlencoded
Content-Length: 47
email=login&pass=password&expire=&vk=


HTTP/1.1 200 OK
Server: nginx/0.7.59
Date: Sun, 28 Mar 2010 16:39:20 GMT
Content-Type: text/html; charset=windows-1251
Connection: keep-alive
X-Powered-By: PHP/5.2.6-1+lenny3
Pragma: no-cache
Cache-Control: no-store
Set-Cookie: remixchk=5; expires=Sat, 19-Mar-2011 02:15:45 GMT; path=/; domain=.vkontakte.ru
Set-Cookie: l=65379707; expires=Thu, 31-Mar-2011 15:16:54 GMT; path=/; domain=login.vk.com
Set-Cookie: p=aaa01a523602cf24632c9dabad422aa9701c; expires=Fri, 01-Apr-2011 07:08:22 GMT; path=/; domain=login.vk.com
P3P: CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"
Content-Encoding: gzip
Vary: Accept-Encoding
Content-Length: 346
----------------------------------------------------------
http://vkontakte.ru/login.php

POST /login.php HTTP/1.1
Host: vkontakte.ru
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; ru; rv:1.9.1.8) Gecko/20100202 MRA 5.5 (build 02842) Firefox/3.5.8 GTB6
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: ru,en-us;q=0.7,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: http://login.vk.com/?act=login
Cookie: remixchk=5; remixsid=nonenone
Content-Type: application/x-www-form-urlencoded
Content-Length: 92
s=3765a6b1cd3049440974b88c&op=slogin&redirect=1&expire=0&to=


HTTP/1.1 302 Found
Server: nginx/0.7.59
Date: Sun, 28 Mar 2010 16:39:21 GMT
Content-Type: text/html; charset=windows-1251
Connection: keep-alive
X-Powered-By: PHP/5.2.6-1+lenny3
Pragma: no-cache
Cache-Control: no-store
P3P: CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"
Set-Cookie: remixsid=253ea57539d039fe650e142b4702c06e3765a6b1c d3049440974b88c; expires=Mon, 28-Mar-2011 16:39:21 GMT; path=/; domain=.vkontakte.ru
Location: profile.php
Content-Encoding: gzip
Vary: Accept-Encoding
Content-Length: 26
----------------------------------------------------------

Сейчас пока не понял, Откуда берётся s=3765a6b1cd3049440974b88c
во втором запросе?

ps: немного тут порезалось.

scrat
29.03.2010, 00:22
проще делать через эмуляцию IE

Fepsis
29.03.2010, 00:25
Сейчас пока не понял, Откуда берётся s=3765a6b1cd3049440974b88c
во втором запросе?

Берётся из ответа на первый запрос...

imreadyourmind
30.03.2010, 15:22
берется веббраузер, авторизируемся на нем. тырим из него куки через олеобъект.документ и дальше можем подставлять куки в любой компонент и работать, как будто мы авторизовались.

GanWorld
30.03.2010, 22:06
Спасибо всем большое.
Так и сделал, Авторизовался через WebBrowser, сохранил Cookies и продолжил через HttpWebRequest, HttpWebResponse.
Но ещё нашёл интересную статейку по авторизации через HttpWebRequest, HttpWebResponse http://www.netcoder.ru/blog/121.html

RedFern.89
01.04.2010, 16:08
а не проще ли проделать всю авторизацию без TWebBrowser? это же ацки не граматно!

s=3765a6b1cd3049440974b88c это ваще-то пасс-кей, который генерируется сервером из твоего мыла и пароля и еще разных данных! Cookies проще всего сохранить при помощи InternetGetCookie. Самый главный парметр в куках это remixsid=

.ATK
01.04.2010, 16:21
3 метода у меня было, что бы авторизироваться в вк

stepashka_
01.04.2010, 23:30
3 метода у меня было, что бы авторизироваться в вк
выкладывай сюда

Roston
01.04.2010, 23:48
http://paste.ly/ND