通过帐号,密码请求token,返回一个dict
    {
    "user_info": {
        "ck": "-VQY",
        "play_record": {
            "fav_chls_count": 4,
            "liked": 802,
            "banned": 162,
            "played": 28368
        },
        "is_new_user": 0,
        "uid": "taizilongxu",
        "third_party_info": null,
        "url": "http://www.douban.com/people/taizilongxu/",
        "is_dj": false,
        "id": "2053207",
        "is_pro": false,
        "name": "刘小备"
    },
    "r": 0
    }

def request_token():
    """
    通过帐号,密码请求token,返回一个dict
    {
    "user_info": {
        "ck": "-VQY",
        "play_record": {
            "fav_chls_count": 4,
            "liked": 802,
            "banned": 162,
            "played": 28368
        },
        "is_new_user": 0,
        "uid": "taizilongxu",
        "third_party_info": null,
        "url": "http://www.douban.com/people/taizilongxu/",
        "is_dj": false,
        "id": "2053207",
        "is_pro": false,
        "name": "刘小备"
    },
    "r": 0
    }
    """
    while True:
        email, password, captcha_solution, captcha_id = win_login()
        options = {
            'source': 'radio',
            'alias': email,
            'form_password': password,
            'captcha_solution': captcha_solution,
            'captcha_id': captcha_id,
            'task': 'sync_channel_list'
        }
        r = requests.post('https://douban.fm/j/login', data=options, headers=HEADERS)
        req_json = json.loads(r.text, object_hook=decode_dict)
        # req_json = json.loads(r.text)
        if req_json['r'] == 0:
            post_data = {
                # will not save
                'liked': req_json['user_info']['play_record']['liked'],
                'banned': req_json['user_info']['play_record']['banned'],
                'played': req_json['user_info']['play_record']['played'],
                'is_pro': req_json['user_info']['is_pro'],
                'user_name': req_json['user_info']['name'],

                # to save
                'cookies': r.cookies,
                'valume': 50,
                'channel': 0,
                'theme_id': 0
            }
            return post_data

        print(req_json['err_msg'])
        print(ERROR + req_json['err_msg'])