纷纭教育
您的当前位置:首页tornado登陆豆瓣代码实例

tornado登陆豆瓣代码实例

来源:纷纭教育


分享一段tornado登陆豆瓣的代码,只简单实现了登陆,并没有实现异步登陆。需要的网友可以自己将代码完善一下。

直接上代码:

#coding=utf8
import settings
import urllib
from tornado import httpclient
import json
 
class douban:
 authurl = 'https://www.douban.com/service/auth2/'
 user_info_url = 'https://api.douban.com/v2/user/~me'
 
 def get_authorization_code(self):
 params = {
 "client_id":settings.oauth2['douban']['key'],
 "redirect_uri":settings.oauth2['redirect_url'],
 "response_type":"code",
 "scope":"douban_basic_common",
 }
 return self.authurl+'auth?'+urllib.urlencode(params)
 
 def get_access_token(self,code):
 params = {
 "client_id":settings.oauth2['douban']['key'],
 "client_secret":settings.oauth2['douban']['sercet'],
 "redirect_uri":settings.oauth2['redirect_url'],
 "grant_type":"authorization_code",
 "code":code,
 }
 url = self.authurl+'token'
 http_client = httpclient.HTTPClient()
 req = httpclient.HTTPRequest(url,method='POST',body=urllib.urlencode(params))
 response = http_client.fetch(req)
 return json.loads(response.body)
 
 def get_user_info(self,access_token):
 url = 'https://api.douban.com/v2/user/~me'
 http_client = httpclient.HTTPClient()
 req = httpclient.HTTPRequest(url,headers={"Authorization":"Bearer "+access_token})
 response = http_client.fetch(req)
 return json.loads(response.body)
显示全文