async Task GetBalance() { if (sessionCookie != "" && sessionCookie != null && (DateTime.Now - Lastbalance).TotalSeconds > 60) { Lastbalance = DateTime.Now; List <KeyValuePair <string, string> > pairs = new List <KeyValuePair <string, string> >(); pairs.Add(new KeyValuePair <string, string>("a", "GetBalance")); pairs.Add(new KeyValuePair <string, string>("s", sessionCookie)); pairs.Add(new KeyValuePair <string, string>("Currency", Currency)); pairs.Add(new KeyValuePair <string, string>("Stats", "1")); FormUrlEncodedContent Content = new FormUrlEncodedContent(pairs); string responseData = ""; using (var response = await Client.PostAsync("", Content)) { try { responseData = await response.Content.ReadAsStringAsync(); } catch (AggregateException e) { if (e.InnerException.Message.Contains("ssl")) { await GetBalance(); return; } } } try { d999Login tmplogin = json.JsonDeserialize <d999Login>(responseData); balance = (decimal)tmplogin.Balance / 100000000.0m; wagered = Wagered = -(decimal)tmplogin.TotalPayIn / 100000000.0m; profit = tmplogin.TotalProfit / 100000000.0m;; bets = (int)tmplogin.TotalBets; wins = (int)tmplogin.TotalWins; losses = (int)tmplogin.TotalLoseCount; if (balance != 0) { MessagingCenter.Send <DiceSite, decimal>(this, "updateBalance", balance); MessagingCenter.Send <DiceSite, long>(this, "updateBets", bets); MessagingCenter.Send <DiceSite, decimal>(this, "updateWagered", wagered); MessagingCenter.Send <DiceSite, decimal>(this, "updateProfit", profit); MessagingCenter.Send <DiceSite, long>(this, "updateWins", wins); MessagingCenter.Send <DiceSite, long>(this, "updateLosses", losses); } } catch { } } }
public override async Task <bool> Login(string User, string Password, string twofa) { bool result = false; try { string sitea = SiteA[site]; /*switch (site) * { * case 0: sitea = "https://www.999dice.com/api/web.aspx"; break; * case 1: sitea = "https://www.999doge.com/api/web.aspx"; break; * case 2: sitea = "https://www.999-dice.com/api/web.aspx"; break; * case 3: sitea = "http://999again.ddns.net:999/"; break; * }*/ ClientHandlr = new HttpClientHandler { UseCookies = true, AutomaticDecompression = DecompressionMethods.Deflate | DecompressionMethods.GZip, Proxy = this.Prox, UseProxy = Prox != null };; Client = new HttpClient(ClientHandlr) { BaseAddress = new Uri(sitea) }; Client.DefaultRequestHeaders.AcceptEncoding.Add(new System.Net.Http.Headers.StringWithQualityHeaderValue("gzip")); Client.DefaultRequestHeaders.AcceptEncoding.Add(new System.Net.Http.Headers.StringWithQualityHeaderValue("deflate")); List <KeyValuePair <string, string> > pairs = new List <KeyValuePair <string, string> >(); pairs.Add(new KeyValuePair <string, string>("a", "Login")); pairs.Add(new KeyValuePair <string, string>("key", "2475c9cb93ba471194d3dd60f06b298c")); if (twofa != "" && twofa != null) { pairs.Add(new KeyValuePair <string, string>("Totp", twofa)); } pairs.Add(new KeyValuePair <string, string>("Username", User)); pairs.Add(new KeyValuePair <string, string>("Password", Password)); FormUrlEncodedContent Content = new FormUrlEncodedContent(pairs); string responseData = ""; using (var response = await Client.PostAsync("", Content)) { try { responseData = await response.Content.ReadAsStringAsync(); } catch (AggregateException e) { if (site++ < SiteA.Length - 1) { result = await Login(User, Password, twofa); } else { finishedlogin(false); } return(result); } } d999Login tmpU = json.JsonDeserialize <d999Login>(responseData); if (tmpU.SessionCookie != "" && tmpU.SessionCookie != null) { Lastbalance = DateTime.Now; sessionCookie = tmpU.SessionCookie; balance = tmpU.Balance / 100000000.0m; profit = tmpU.Profit / 100000000.0m; Wagered = tmpU.Wagered / 100000000m; bets = (int)tmpU.BetCount; wins = (int)tmpU.BetWinCount; losses = (int)tmpU.BetLoseCount; await GetBalance(); MessagingCenter.Send <DiceSite, decimal>(this, "updateBalance", (decimal)balance); MessagingCenter.Send <DiceSite, long>(this, "updateBets", tmpU.BetCount); MessagingCenter.Send <DiceSite, decimal>(this, "updateWagered", Wagered); MessagingCenter.Send <DiceSite, decimal>(this, "updateProfit", profit); MessagingCenter.Send <DiceSite, long>(this, "updateWins", tmpU.BetWinCount); MessagingCenter.Send <DiceSite, long>(this, "updateLosses", tmpU.BetLoseCount); Lastbalance = DateTime.Now.AddMinutes(-2); await GetBalance(); MessagingCenter.Send(this, "updateDeposit", tmpU.DepositAddress); uid = tmpU.Accountid; result = true; } else { result = false; } if (sessionCookie != "") { isD999 = true; var t = new Thread(GetBalanceThread); t.Start(); result = true; } } catch { if (site++ < 2) { result = await Login(User, Password, twofa); } else { result = false; } } if (!thing) { finishedlogin(sessionCookie != ""); thing = true; } return(result); }