public LoginStatus Login() { Session session = new Session(); session.CreateSession(); FacebookSession = session; LoginStatus loginStatus; string Postdata = ""; string ResponseLogin = ""; try { if (facebookStatics.IssCookie) { session.http.AddHeader("cookie", facebookStatics.cookie); ResponseLogin = session.http.Get(LoginFBUrl).ToString(); { if (ResponseLogin.Contains("name=\"xc_message\"")) { loginStatus = LoginStatus.SUCCESS; return(loginStatus); } else { loginStatus = LoginStatus.ERROR; return(loginStatus); } } } string ResponseLoginPage = session.http.Get(LoginFBUrl).ToString(); session.InitParamsCodeLogin(ResponseLoginPage); ResponseLoginPage = ""; Postdata = $"lsd={session.lsd}&jazoest={session.jazoest}&m_ts={session.m_ts}&li={session.li}&try_number=0&unrecognized_tries=0&email={facebookStatics.uid}&pass={facebookStatics.pass}&login=%C4%90%C4%83ng+nh%E1%BA%ADp"; session.AddParamsLogin(Postdata); //Postdata = System.Net.WebUtility.UrlEncode(Postdata); ResponseLogin = session.http.Post(_svurl, Postdata, "application/x-www-form-urlencoded").ToString(); string nh = ""; if (facebookStatics.tfa == null) { loginStatus = LoginStatus.SUCCESS; } if (ResponseLogin.Contains("checkpointSubmitButton")) { nh = AppExtension.RegexByNameHtml(ResponseLogin, "nh", 1); session.fb_dtsg = AppExtension.RegexByNameHtml(ResponseLogin, "fb_dtsg", 1); string _2facode = AppExtension.tfacode(facebookStatics.tfa); session.jazoest = AppExtension.RegexByNameHtml(ResponseLogin, "jazoest", 1); Postdata = $"fb_dtsg={session.fb_dtsg}&jazoest={session.jazoest}&checkpoint_data=&approvals_code={_2facode}&codes_submitted=0&submit%5BSubmit+Code%5D=G%E1%BB%ADi+m%C3%A3&nh={nh}"; ResponseLogin = session.http.PostUrlEncoded(_mbasic_checkpoint_uri, Postdata).ToString(); Postdata = $"fb_dtsg={session.fb_dtsg}&jazoest={session.jazoest}&checkpoint_data=&name_action_selected=save_device&submit%5BContinue%5D=Ti%E1%BA%BFp+t%E1%BB%A5c&nh={nh}"; ResponseLogin = session.http.PostUrlEncoded(_mbasic_checkpoint_uri, Postdata).ToString(); if (ResponseLogin.Contains("checkpointSubmitButton")) { Postdata = $"fb_dtsg={session.fb_dtsg}&jazoest={session.jazoest}&checkpoint_data=&submit%5BContinue%5D=Ti%E1%BA%BFp+t%E1%BB%A5c&nh=" + nh; ResponseLogin = session.http.PostUrlEncoded(_mbasic_checkpoint_uri, Postdata).ToString(); Postdata = $"fb_dtsg={session.fb_dtsg}&jazoest={session.jazoest}&checkpoint_data=&submit%5BThis+was+me%5D=%C4%90%C3%A2y+l%C3%A0+t%C3%B4i&nh=" + nh; ResponseLogin = session.http.PostUrlEncoded(_mbasic_checkpoint_uri, Postdata).ToString(); Postdata = $"fb_dtsg={session.fb_dtsg}&jazoest={session.jazoest}&checkpoint_data=&name_action_selected=save_device&submit%5BContinue%5D=Ti%E1%BA%BFp+t%E1%BB%A5c&nh=" + nh; ResponseLogin = session.http.PostUrlEncoded(_mbasic_checkpoint_uri, Postdata).ToString(); } else { loginStatus = LoginStatus.SUCCESS; } if (ResponseLogin.Contains("verification_method")) { loginStatus = LoginStatus.CHECKPOINT; } else { loginStatus = LoginStatus.SUCCESS; } } else { loginStatus = LoginStatus.WRONG_PASS; } } catch { loginStatus = LoginStatus.ERROR; return(loginStatus); } finally { AccessTokenStatus accessTokenStatus = LoginAutGetToken(); if (accessTokenStatus == AccessTokenStatus.SUCCESS) { facebookStatics.cookie = session.http.Cookies.ToString(); loginStatus = LoginStatus.SUCCESS; } else { loginStatus = LoginStatus.ERROR; } FacebookSession = session; session.Dispose(); Postdata = ""; ResponseLogin = ""; } return(loginStatus); }