public static GetSign ( string url ) : string | ||
url | string | |
return | string |
public static string GetSign(string url)
{
string result;
string str = url.Substring(url.IndexOf("?", 4) + 1);
List<string> list = str.Split('&').ToList();
list.Sort();
StringBuilder stringBuilder = new StringBuilder();
foreach (string str1 in list)
{
stringBuilder.Append((stringBuilder.Length > 0 ? "&" : string.Empty));
stringBuilder.Append(str1);
}
stringBuilder.Append(_appSecret_Wp);
using (var md5 = MD5.Create())
{
result = BitConverter.ToString(md5.ComputeHash(Encoding.ASCII.GetBytes(stringBuilder.ToString()))).Replace("-", "").ToLower();
}
return result;
}
public async Task <UserInfoModel> GetMyUserInfo() { if (IsLogin()) { try { string url = string.Format("http://account.bilibili.com/api/myinfo?access_key={0}&appkey={1}&platform=wp&type=json", BiliApiHelper.access_key, BiliApiHelper._appKey_IOS); url += "&sign=" + BiliApiHelper.GetSign(url); string results = await BiliInterface.GetHtmlAsync(url); UserInfoModel model = JsonConvert.DeserializeObject <UserInfoModel>(results); //AttentionList = model.attentions; return(model); } catch (Exception) { return(null); } } else { return(null); } }