Esempio n. 1
0
def sign():
    params = {'access_key': ACCESS_KEY, 'appkey': APP_KEY}
    params['sign'] = getSign(params)
    r = requests.get('http://live.bilibili.com/mobile/getUser',
                     params=params,
                     headers=headers)
    _logger.debug(r.text)
    json = r.json()
    if json['code'] == 0:
        if json['data']['isSign'] != 1:
            sleep(1)

            params = {
                'access_key': ACCESS_KEY,
                'appkey': APP_KEY,
                'scale': 'xxhdpi'
            }
            params['sign'] = getSign(params)
            r = requests.get('http://live.bilibili.com/AppUser/getSignInfo',
                             params=params,
                             headers=headers)
            _logger.debug(r.text)
            _logger.info("Sign OK!")
        else:
            _logger.info("Already signed!")
    else:
        _logger.error('getUser failed! Error message:' + json['message'])
Esempio n. 2
0
def main(ACCESS_KEY):
    errCount = 0
    for _ in range(32):
        params = {
            'access_key': ACCESS_KEY,
            'appkey': APP_KEY,
            'actionKey': 'appkey',
            'build': '5370000',
            'channel': 'bilih5',
            'device': 'android',
            'mobi_app': 'android',
            'platform': 'android'
        }
        params['ts'] = str(int(time()))
        params['sign'] = getSign(params)
        r = requests.get(
            'https://api.live.bilibili.com/mobile/freeSilverCurrentTask',
            params=params,
            headers=headers
        )  # or 'https://api.live.bilibili.com/lottery/v1/SilverBox/getCurrentTask'
        _logger.debug(r.text)
        res = r.json()
        if res['code'] == 0:
            wait = res['data']['time_end'] - time() + 5

            if wait > 0:
                _logger.info('Waiting for %d seconds' % wait)
                sleep(wait)

            params['time_start'] = res['data']['time_start']
            params['time_end'] = res['data']['time_end']
            params.pop('sign')
            params['ts'] = str(int(time()))
            params['sign'] = getSign(params)
            r = requests.get(
                'https://api.live.bilibili.com/mobile/freeSilverAward',
                params=params,
                headers=headers)
            _logger.debug(r.text)
            j = r.json()
            if j['code'] != 0:
                errCount += 1
                _logger.info(res['message'])
                sleep(5)
        else:
            errCount += 1
            _logger.error(
                'freeSilverCurrentTask returned error! Error message:' +
                res['message'])
            if res['code'] == -10017:
                return
            if res['code'] == -101 or json['code'] == -500:  # Not login
                return 1  # Restart
            sleep(5)

        if errCount >= 5:
            return
Esempio n. 3
0
def main(ACCESS_KEY):
    errCount = 0
    for _ in range(32):
        params = {
            'access_key': ACCESS_KEY,
            'appkey': APP_KEY,
            '_device': 'android',
            '_ulv': '10000',
            'build': '434000',
            'mobi_app': 'android',
            'platform': 'android'
        }
        params['sign'] = getSign(params)
        r = requests.get(
            'http://api.live.bilibili.com/mobile/freeSilverCurrentTask',
            params=params,
            headers=headers)
        _logger.debug(r.text)
        res = r.json()
        if res['code'] == 0:
            wait = res['data']['time_end'] - time() + 5

            if wait > 0:
                _logger.info('Waiting for %d seconds' % wait)
                sleep(wait)

            params['time_start'] = res['data']['time_start']
            params['time_end'] = res['data']['time_end']
            del params['sign']
            params['sign'] = getSign(params)
            r = requests.get(
                'http://api.live.bilibili.com/mobile/freeSilverAward',
                params=params,
                headers=headers)
            _logger.debug(r.text)
            j = r.json()
            if j['code'] != 0:
                errCount += 1
                _logger.info(res['message'])
                sleep(5)
        else:
            errCount += 1
            _logger.error(
                'freeSilverCurrentTask returned error! Error message:' +
                res['message'])
            if res['code'] == -10017:
                return
            if res['code'] == -101:
                return 1  # Restart
            sleep(5)

        if errCount >= 5:
            return
Esempio n. 4
0
def login(s, username, password, captcha=None):
    params = {'appkey': APP_KEY, 'password': password, 'username': username}
    if captcha:
        params['captcha'] = captcha
    params['sign'] = getSign(params)
    r = s.post(BASE_URL + 'api/oauth2/login', params=params, headers=headers)
    _logger.debug(r.text)
    return r.json()
Esempio n. 5
0
def getKey(s):
    params = {'appkey': APP_KEY}
    params['sign'] = getSign(params)
    r = s.post(BASE_URL + 'api/oauth2/getKey', params=params, headers=headers)
    json = r.json()
    if json['code'] != 0:
        _logger.error('getKey failed! Error message:' + json['message'])
        return False
    data = json['data']
    return (data['hash'].encode('ascii'), data['key'].encode('ascii'))
Esempio n. 6
0
def refreshToken(s, access_token, refresh_token):
    params = {
        'access_token': access_token,
        'appkey': APP_KEY,
        'refresh_token': refresh_token
    }
    params['sign'] = getSign(params)
    r = s.post(BASE_URL + 'api/oauth2/refreshToken',
               params=params,
               headers=headers)
    _logger.debug(r.text)
    return r.json()
Esempio n. 7
0
def sign(ACCESS_KEY):
    params = {'access_key': ACCESS_KEY, 'appkey': APP_KEY}
    params['sign'] = getSign(params)
    r = requests.get('https://live.bilibili.com/mobile/getUser', params=params, headers=headers)
    _logger.debug(r.text)
    json = r.json()
    if json['code'] == 0:
        if json['data']['isSign'] != 1:
            sleep(1)

            params = {'access_key': ACCESS_KEY, 'appkey': APP_KEY, 'scale': 'xxhdpi'}
            params['sign'] = getSign(params)
            r = requests.get('https://live.bilibili.com/AppUser/getSignInfo',
                             params=params, headers=headers)
            _logger.debug(r.text)
            _logger.info("Sign OK!")
        else:
            _logger.info("Already signed!")
    else:
        _logger.error(u'getUser failed! Error code: {} message:{}'.format(json['code'], json['message']))
        if json['code'] == -101 or json['code'] == -500: # Not login
            return 1 # Restart
Esempio n. 8
0
def predictSign(img):
    hand = img
    hand = cv2.resize(hand, (64, 64))
    img = image.img_to_array(hand)
    img = np.expand_dims(img, axis=0)
    img.astype('float32')
    img = img / 255.0
    pred = model.predict(img)
    maxProb = max(pred[0])
    if maxProb > 0.8:
        p = np.argmax(pred, axis=1)
        return utils.getSign(p)
    return -1
Esempio n. 9
0
def authInfo(s, access_token):
    params = {'access_token': access_token, 'appkey': APP_KEY}
    params['sign'] = getSign(params)
    r = s.get(BASE_URL + 'api/oauth2/info', params=params, headers=headers)
    _logger.debug(r.text)
    return r.json()