Форум сайта python.su
Я занимаюсь написанием desktop-приложения для работы с фотографиями с использованием языка программирование python.
Вопрос: для авторизации на сайте хочу использовать библиотеку pycUrl как мне это реализовать и что бы не надо было вызывать окно авторизации а использовать свое UI для авторизации.
Заранее спасибо !!!!
Офлайн
enepЧто за сайт?
Офлайн
noob_saibotvk.com
Офлайн
решил использовать urllib2 используя прямую авторизацию
вот сам г*внокод:
import urllib2 import urllib hostname = 'https://oauth.vk.com/token' app_id = '------------' app_secret = '------------' user_login = '------------' user_pwd = '------------' user_scope = 'friends,status,messages' vkapi_version = '5.25' #Login in vk.com auth = urllib.urlencode({'grant_type':'password','client_id':app_id,'client_secret':app_secret,'username':user_login, 'password':user_pwd,'scope':user_scope,'v':vkapi_version}) request = urllib2.Request(hostname,data=auth) respons = urllib2.urlopen(request);) request = urllib2.Request(hostname,data=auth) respons = urllib2.urlopen(request); print respons.read()
Офлайн
для vk есть готовые библиотеки
смотрите vk
а вот для авторизации vk_auth
пример получения фото используя vk_auth fetch_photos
Отредактировано terabayt (Окт. 25, 2014 02:34:33)
Офлайн
Вот что у меня получилось, все работает
#!/usr/bin/python #-*- coding: utf-8 -*-s from lxml.html import fromstring, tostring import urllib2 import urllib import re import cookielib hostname = 'https://oauth.vk.com/token' app_id = '-----------------------------------' app_secret = '--------------------------------' user_login = '---------------------------------' user_pwd = '--------------------------------------------' user_scope = '----------------------------------------' vkapi_version = '5.25' cookie = cookielib.CookieJar() #Login in vk.com request = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie),urllib2.HTTPRedirectHandler()) request.addheaders = [('User-agent', 'Mozilla/6.0')] #https://login.vk.com/?act=login&email=&pass= login_param2 ='act=login&email=%s&pass=%s' % (user_login,user_pwd) respons = request.open('https://login.vk.com/',login_param2) #https://oauth.vk.com/authorize?client_id=&scope=&redirect_uri=https://oauth.vk.com/blank.html&display=page&v=5.25&response_type=token if urlparse.urlparse(respons.geturl()).path == '/login': print "NNOO LLOOGGIINN" import sys sys.exit() auth_param = 'client_id=%s&scope=%s&response_type=token&redirect_url=%s&v=5.25&client_secret=%s&display=popup' %(app_id,user_scope,'https://oauth.vk.com/blank.html',app_secret) resp = request.open('https://oauth.vk.com/authorize',auth_param) _url = resp.geturl() # Отправляем запрос на разрешение доступа if _url == 'https://oauth.vk.com/authorize': action = fromstring(_html).xpath('.//form[@action]')[0].get('action') resp = request.open(action) _url = resp.geturl() _html = resp.read() reg = 'access_token=(.*?)&' rg = re.compile(reg,re.IGNORECASE|re.DOTALL) m = rg.search(_url) token = m.group(1) print "Yooo:",token
Офлайн