Giter VIP home page Giter VIP logo

bilibili-login's Introduction

哔哩哔哩 登录API参数

使用B站Api js 提取出来的核心

BY AceSheep 2017年3月17日 from minilogin

ajax.php 接口参数 全部都是Get请求 编码UTF-8

简单的说几句

B站POST 参数有变化,注意模拟准确 2017-05-31

B站POST 参数有变化,注意模拟准确  开源项目全部失效 2017-6-30

这个API把计算交给了服务器,会返回一个计算结果给软件. 好处是 个个语言都不需要写 RSA 算法啦.例如:shell脚本,C# (C#的公钥是XML格式)

当然在把视频的算法逆向出来前,ajax.php 暂时不放出来.如果你担心安全问题,你可以自己写一个.

现已提供

选择分支进行查看

语言 状态 时间(UTC+8) 备注
PHP 2017-03-21 17:30:00 暂时未公布
JavaScript 2017-03-16 20:28:54 AceSheep
C# 2017-04-20 15:54:28 丶小C 提供
Python 2017-02-06 12:34:55 ztcaoll222 提供

获取验证码captcha:

需要的参数:
参数 语法 备注
act captcha 固定为captcha
ts 1 或者 !=0 1时返回 Base64 后的图片数据 不等于0时 网页输出图片

返回验证码~

例子 http://www.acesheep.com/bilibili_Login/ajax.php?act=captcha&ts=1 Base64 后的图片数据 http://www.acesheep.com/bilibili_Login/ajax.php?act=captcha&ts=3 网页输出Base64编码图片data:image/jpeg;base64,

获取密钥:getkey

需要的参数:
参数 语法 备注
act getkey 固定为getkey
ts 13位Unix时间戳 1489555973312

返回 json 文本

例子 http://www.acesheep.com/bilibili_Login/ajax.php?act=getkey&ts=1489555973312
例子返回

{"hash":"49d28ca8f5c10f6b","key":"-----BEGIN PUBLIC KEY-----\nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCdScM09sZJqFPX7bvmB2y6i08J\nbHsa0v4THafPbJN9NoaZ9Djz1LmeLkVlmWx1DwgHVW+K7LVWT5FV3johacVRuV98\n37+RNntEK6SE82MPcl7fA++dmW2cLlAjsIIkrX+aIvvSGCuUfcWpWFy3YVDqhuHr\nNDjdNcaefJIQHMW+sQIDAQAB\n-----END PUBLIC KEY-----\n"}

获取密钥:getpasswd

需要的参数:
参数 语法 备注
act getpasswd 固定为getpasswd
ts Base64编码的密码 MTIzYWJj
hash 本地请求获得的hash 49d28ca8f5c10f6b
sign 校验和 后附算法

返回 文本 每次返回值不一样

例子 http://www.acesheep.com/bilibili_Login/ajax.php?act=getpasswd&ts=dGVzdA==&hash=1dc79af795a0d88b&sign=7bc42fbc33446bd7ca6f03b574bbb4eb

例子返回

cXb+O1QW5IhqMLYAee1tzLQ6TGq8OabCIFJUeQZKqoN1WoTIPZ+TBQm/zy8/EczroqcS/dlI/s/hX+aTRPmlsUkZGNqxjL8n9Sk9QO6zVEnCwGNZWBGyZaJSkKho0PdHBHpQmuZRIwt1YJ7dVSLAxYpmiIA61Lam6O5SwuLpaBU=

提示!!!!!!!!!!!!! 加密后的密码有效期为20秒 hash有效期为20秒!!!!!

sign 算法(服务器)

          $appkey = "MjNnRTBSZWI4blkzbDNSZ251Zm8="; // AppKey 用了Base64 加密<br>
          $str ='passwd='.base64_decode($passwd).'&hash='.$hash.'&appkey='.base64_decode($appkey);

说明(客户端)~   MD5一下("passwd=" + 密码 + "&hash=" + hash值 + "&appkey=" + base64_decode解码的appkey)

错误代码说明:

错误代码 位置 原因
参数错误 全局 act 或 ts 值为空
参数错误100 全局 act 没有匹配的参数
参数错误102 captcha ts值为空
参数错误103 or 104 getpasswd hash 或 sign 值为空
参数错误105 getpasswd sign 错误

bilibili-login's People

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

bilibili-login's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.