/// <summary> /// The Login /// </summary> /// <param name="login">The <see cref="string"/></param> /// <param name="password">The <see cref="string"/></param> /// <returns>The <see cref="Task{bool}"/></returns> public static async Task <UserDetail> Login(string login, string password) { InstaInfo.Login = login; InstaInfo.Password = password; InstaInfo.Uuid = GenerateData.UUID(true); InstaInfo.DeviceId = GenerateData.DeviceId(); var loginDetail = new { Login = login, Password = password }; new FileInfo(Environment.CurrentDirectory + "\\data\\").Directory.Create(); File.WriteAllText(Environment.CurrentDirectory + "\\data\\logininfo.dat", JsonConvert.SerializeObject(loginDetail)); Console.WriteLine($"{InstaInfo.Uuid} - {InstaInfo.DeviceId}"); InstaInfo.CookieContainer = new CookieContainer(); Console.WriteLine("try to login"); if (await Request.SendRequestAsync("si/fetch_headers/?challenge_type=signup&guid=" + GenerateData.UUID(false), null, true)) { Log.WriteLog("Handshake with Instagram success!"); var postData = new Dictionary <string, string> { { "phone_id", GenerateData.UUID(true) }, { "_csrftoken", InstaInfo.CsrfToken }, { "username", InstaInfo.Login }, { "guid", InstaInfo.Uuid }, { "device_id", InstaInfo.DeviceId }, { "password", InstaInfo.Password }, { "login_attempt_count", "0" } }; var post = JsonConvert.SerializeObject(postData).ToString(); if (await Request.SendRequestAsync("accounts/login/", GenerateData.Signature(post), true)) { InstaInfo.LoginStatus = true; InstaInfo.RankToken = InstaInfo.UserNameId + "_" + InstaInfo.Uuid; Log.WriteLog($"Successed login with user {InstaInfo.Login}!"); #region test //if (await GetZeroRatingTokenResult()) //{ // if (await GetBootstrapUsers()) // { // var a = "ASd"; // } // if (await GetQPFetch()) // { // } //if (await SyncUsersFeaturesAsync()) //{ // if (await Direct.GetRankedRecipients("reshare",true)) // { // if (await Direct.GetRankedRecipients("raven", true)) // { // if (await Direct.GetInbox()) // { // if (await GetProfileNotice()) // { // if (await People.GetRecentActivityInbox()) // { // if (await GetQPFetch()) // { // } // } // } // } // } // } //} //} #endregion test if (await SyncUsersFeaturesAsync()) { Console.WriteLine("Sync Features ok!"); Console.WriteLine("Get RecentActivity ok!"); var userInfoData = new Dictionary <string, string>() { { "login", InstaInfo.Login }, { "password", InstaInfo.Password }, { "username_id", InstaInfo.UserNameId }, { "csrftoken", InstaInfo.CsrfToken }, { "uuid", InstaInfo.Uuid }, { "device_id", InstaInfo.DeviceId }, { "rank_token", InstaInfo.RankToken }, { "mid", InstaInfo.Mid }, { "sessionid", InstaInfo.SessionId } }; var userInfo = JsonConvert.SerializeObject(userInfoData).ToString(); new FileInfo(Environment.CurrentDirectory + "\\data\\").Directory.Create(); File.WriteAllText(Environment.CurrentDirectory + "\\data\\" + login + "-session.dat", Hash.Encrypt(userInfo, password)); if (await GetUsernameInfoAsync(InstaInfo.UserNameId)) { var userDetail = JsonConvert.DeserializeObject <UserDetail>(InstaInfo.LastResponse); if (userDetail != null) { return(userDetail); } } //return true; } } else { Log.WriteLog("faild to login: "******"Asd"; } } return(null); }