'get_friend_info
{"retcode":0,"result":{"face":0,"birthday":{"month":1,"year":1989,"day":30},"occupation":"","phone":"","allow":1,"college":"","uin":3964575484,"constel":1,"blood":3,"homepage":"http://blog.lovewinne.com","stat":20,"vip_info":0,"country":"äž­åœ","city":"","personal":"","nick":" ä¿¡","shengxiao":5,"email":"John123951@126.com","province":"å±±äž","gender":"male","mobile":"158********"}}
:return:dict'

def get_friend_info(self, tuin):

    uin = str(tuin)
    if (uin not in self.friend_uin_list):
        logger.info('RUNTIMELOG    Requesting    the    account    info    by    uin:    {}'.format(uin))
        info = json.loads(self.client.get('http://s.web2.qq.com/api/get_friend_info2?tuin={0}&vfwebqq={1}&clientid={2}&psessionid={3}&t={4}'.format(uin, self.vfwebqq, self.client_id, self.psessionid, self.client.get_timestamp())))
        logger.debug('get_friend_info2    html:    {}'.format(str(info)))
        if (info['retcode'] != 0):
            logger.warning('get_friend_info2    retcode    unknown:    {}'.format(info))
            return None
        info = info['result']
        info['account'] = self.uin_to_account(uin)
        info['longnick'] = self.get_friend_longnick(uin)
        self.friend_uin_list[uin] = info
    try:
        return self.friend_uin_list[uin]
    except:
        logger.warning('RUNTIMELOG    get_friend_info    return    fail.')
        logger.debug(('RUNTIMELOG    now    uin    list:                ' + str(self.friend_uin_list[uin])))
