private async void Auth(string phone, string token, ListBox logList) { string firstUrl = "https://api.gotinder.com/v2/auth/sms/send?auth_type=sms&locale=ru"; string secondUrl = "https://api.gotinder.com/v2/auth/sms/validate?auth_type=sms&locale=ru"; string threeUrl = "https://api.gotinder.com/v2/auth/login/sms?locale=ru"; string phoneNumber = phone; HttpWebRequest request = WebRequest.Create(threeUrl) as HttpWebRequest; request.Method = "POST"; request.ContentType = "application/json"; request.UserAgent = "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36"; CookieContainer cookieContainer = new CookieContainer(); // string login = "******"; // string password = "******"; RootDataThree dataFirstRequest = new RootDataThree(); dataFirstRequest.phone_number = phoneNumber; dataFirstRequest.refresh_token = token; var firstJsonData = Newtonsoft.Json.JsonConvert.SerializeObject(dataFirstRequest); request.CookieContainer = cookieContainer; using (StreamWriter writer = new StreamWriter(await request.GetRequestStreamAsync())) { await writer.WriteAsync(firstJsonData); } HttpWebResponse response = null; try { response = await request.GetResponseAsync() as HttpWebResponse; string content = string.Empty; using (StreamReader reader = new StreamReader(response.GetResponseStream())) { content = await reader.ReadToEndAsync(); reader.Close(); } response.Close(); response.Dispose(); RootMetaData rootMetaData = JsonConvert.DeserializeObject <RootMetaData>(content); ApiToken = rootMetaData.Data.api_token; accountInformation.SaveTokenToFile(phoneNumber, ApiToken); logList.Items.Add($"Загружен в файл: {phoneNumber} - {ApiToken}"); } catch (WebException webException) { MessageBox.Show(webException.Message); } catch (Exception exception) { MessageBox.Show(exception.Message); } finally { response.Close(); response.Dispose(); } }
public async void SmsValidate(string phoneNumberText, TextBox otpCode, ListBox logList) { string firstUrl = "https://api.gotinder.com/v2/auth/sms/send?auth_type=sms&locale=ru"; string secondUrl = "https://api.gotinder.com/v2/auth/sms/validate?auth_type=sms&locale=ru"; string threeUrl = "https://api.gotinder.com/v2/auth/login/sms?locale=ru"; string phoneNumber = phoneNumberText; HttpWebRequest request = WebRequest.Create(secondUrl) as HttpWebRequest; request.Method = "POST"; request.ContentType = "application/json"; request.UserAgent = "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36"; CookieContainer cookieContainer = new CookieContainer(); // string login = "******"; // string password = "******"; RootDataSecond rootDataSecond = new RootDataSecond(); rootDataSecond.otp_code = otpCode.Text; rootDataSecond.phone_number = phoneNumber; rootDataSecond.is_update = false; var firstJsonData = Newtonsoft.Json.JsonConvert.SerializeObject(rootDataSecond); // string data = $"login={login}&password={password}&s_post=QbAido4SpJuI9cct54vSwPPUxZbwn8QU&level=false"; // byte[] dataBytes = Encoding.UTF8.GetBytes(firstJsonData); // request.ContentLength = dataBytes.Length; request.CookieContainer = cookieContainer; using (StreamWriter writer = new StreamWriter(await request.GetRequestStreamAsync())) { // await writer.WriteAsync(dataBytes, 0, dataBytes.Length); await writer.WriteAsync(firstJsonData); } HttpWebResponse response = null; try { response = await request.GetResponseAsync() as HttpWebResponse; string content = ""; using (StreamReader reader = new StreamReader(response.GetResponseStream())) { content = await reader.ReadToEndAsync(); reader.Close(); } RootMetaData deserializeObject = Newtonsoft.Json.JsonConvert.DeserializeObject <RootMetaData>(content); string refreshToken = deserializeObject.Data.refresh_token; logList.Items.Add($"[{DateTime.Now}]: Debug: {content}"); response.Close(); response.Dispose(); Auth(phoneNumberText, refreshToken, logList); } catch (WebException webException) { MessageBox.Show(webException.Message); } catch (Exception exception) { MessageBox.Show(exception.Message); } finally { response.Close(); response.Dispose(); } }