tornado登陆豆瓣代码实例

kkkkk 2018年12月17日 23:12 python框架

分享一段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)


文章评论(0)
  • avatar kkkkkk 2018年12月21日 11:31
    优秀啊
    kkkkk
    2018年12月21日 11:16
    行文思路简单肤浅,文章结构平面呆板。
    回复
  • avatar kkkkkk 2018年12月21日 11:31
    这评论真好啊!
    kkkkklxinde
    2018年12月21日 11:17
    清新流畅,自然有致 取材丰富,文字生动。 颇富幽默,笔调轻松 自然顺畅,有条不紊。
    回复
  • avatar kkkkklxinde 2018年12月21日 11:17
    清新流畅,自然有致 取材丰富,文字生动。 颇富幽默,笔调轻松 自然顺畅,有条不紊。
    回复
  • avatar kkkkk 2018年12月21日 11:16
    行文思路简单肤浅,文章结构平面呆板。
    回复