This repository has been archived by the owner on Sep 22, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 5
BiliAccount.Core
Leo Chen edited this page Dec 21, 2019
·
8 revisions
文件 | 类名 | 关键字 | 描述 |
Core.cs | ByPassword | internal | 通过密码登录实现 |
ByQrCode | internal | 通过二维码登录实现 |
属性名 | 类型 | 描述 |
---|---|---|
Appkey | string | Appkey |
Appsecret | string | Appsecret |
Build | string | Build |
User_Agent | string | User_Agent |
属性名 | 类型 | 描述 |
---|---|---|
TimeStamp | long | Unix时间戳 |
方法名 | 返回类型 | 描述 |
---|---|---|
DoLogin | void | 登录 |
DoLoginWithCatpcha | void | 登录(带验证码) |
GetCaptcha | System.Drawing.Bitmap | 获取/刷新验证码图片 |
EncryptPwd | string | 密码加密 |
GetKey | void | 获取key |
Init | void | 初始化登录模块 |
IsTokenAvailable | bool | 检查token可用性 |
RefreshToken | System.DateTime? | token续期 |
SSO | object[] | SSO换取Cookies |
方法名 | 返回类型 | 描述 |
---|---|---|
GetMD5 | string | 获取字符串md5 |
GetSign | string | 获取参数签名 |
UrlEncode | string | UrlEncode |
类名 | 描述 |
---|---|
DoLogin_DataTemplete | 登录数据模板 |
GetKey_DataTemplete | GetKey返回值的数据模板 |
Init_DataTemplete | 初始化数据模板 |
IsTokenAvailable_DataTemplete | 检查token可用性数据模板 |
RefreshToken_DataTemplete | token续期数据模板 |
public static void DoLogin(ref Account account)
参数名 | 类型 | 描述 |
---|---|---|
ref account |
Account | 账号信息实例 |
public static void DoLoginWithCatpcha(string captcha, ref Account account)
参数名 | 类型 | 描述 |
---|---|---|
captcha | string | 验证码字符 |
ref account |
Account | 账号信息实例 |
public static Bitmap GetCaptcha(ref Account account)
参数名 | 类型 | 描述 |
---|---|---|
ref account |
Account | 账号信息实例 |
System.Drawing.Bitmap 验证码图片
public static string EncryptPwd(string password, string key, string hash)
参数名 | 类型 | 描述 |
---|---|---|
password | string | 账号信息实例 |
key | string | key |
hash | string | hash |
string 加密后的密码
public static void GetKey(out string hash, out string key, out CookieCollection cookies)
参数名 | 类型 | 描述 |
---|---|---|
out hash |
string | 输出hash |
out key |
string | 输出key |
out CookieCollection |
System.Net.CookieCollection | 输出cookies集合实例 |
public static void Init()
本函数用于与后端服务器交互获取登录请求参数,默认无需修改,zhangbudademao.com
将提供后端服务并将请求资源维护在最新版本;但如有需要可以自行修改Init.json
上传自己的服务器,并修改本函数请求地址使用私有后端。
/// <summary>
/// 初始化登录模块
/// </summary>
public static void Init()
{
string str = Http.GetBody("http://abc.sample.com/Init.json");
if (!string.IsNullOrEmpty(str))
{
#if NETSTANDARD2_0 || NETCORE3_0
Init_DataTemplete obj = JsonConvert.DeserializeObject<Init_DataTemplete>(str);
#else
Init_DataTemplete obj = (new JavaScriptSerializer()).Deserialize<Init_DataTemplete>(str);
#endif
Appkey = obj.appkey;
Appsecret = obj.appsecret;
Build = obj.build;
User_Agent = obj.user_agent;
}
else
{
throw new Exception("Login module initialization failure.");
}
}
public static bool IsTokenAvailable(string access_token)
参数名 | 类型 | 描述 |
---|---|---|
access_token | bool | AccessToken |
bool AccessToken是否可用
public static DateTime? RefreshToken(string access_token, string refresh_token)
参数名 | 类型 | 描述 |
---|---|---|
access_token | string | AccessToken |
refresh_token | string | RefreshToken |
System.DateTime? 新的AccessToken过期时间
public static object[] SSO(string access_token)
参数名 | 类型 | 描述 |
---|---|---|
access_token | string | AccessToken |
object[]
索引 | 类型 | 描述 |
---|---|---|
0 | string | Cookies字符串(相当于Account的strCookies ) |
1 | string | csrf值(相当于Account的CsrfToken ) |
2 | System.DateTime | 过期时间(相当于Account的Expires_Cookies ) |
3 | System.Net.CookieCollection | Cookies集合实例(相当于Account的Cookies ) |
private static string GetMD5(string str)
参数名 | 类型 | 描述 |
---|---|---|
str | string | 要获取MD5的字符串 |
string MD5字符串
private static string GetSign(string strReq)
参数名 | 类型 | 描述 |
---|---|---|
strReq | string | 请求字符串 |
string 签名字符串
private static string UrlEncode(string str)
参数名 | 类型 | 描述 |
---|---|---|
str | string | 要urlencode的字符串 |
string urlencode后的字符串
字段名 | 类型 | 描述 |
---|---|---|
Monitor | System.Threading.Timer | 状态监视器 |
Refresher | System.Threading.Timer | 刷新监视器 |
方法名 | 返回类型 | 描述 |
---|---|---|
CancelLogin | void | 取消登录 |
GetQrcode | System.Drawing.Bitmap | 获取登陆二维码 |
方法名 | 返回类型 | 描述 |
---|---|---|
MonitorCallback | void | 状态监视器回调 |
RefresherCallback | void | 刷新监视器回调 |
类名 | 描述 |
---|---|
GetQrcode_DataTemplete | 获取二维码的数据模板 |
MonitorCallBack_Templete | 状态监视器回调数据模板 |
public static void CancelLogin()
public static Bitmap GetQrcode()
private static void MonitorCallback(object o)
参数名 | 类型 | 描述 |
---|---|---|
o | object | (空) |
private static void RefresherCallback(object state)
参数名 | 类型 | 描述 |
---|---|---|
state | object | (空) |
Copyright © 2020 zhangbudademao.com. All rights reserved.