| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
nf456
10年前发布

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)