public void Login(string login, string password) { lock (loginLock) { LoggedIn = false; if (loginWC.gotCookies(cookieForTest, mainDomain)) { LoggedIn = true; return; } String content = String.Empty; try { content = loginWC.DownloadString(loginUrl); } catch (Exception e) { Debug.Print("Sc2tv login error: {0}", e.Message); } if (String.IsNullOrEmpty(content)) { return; } string formBuildId = Re.GetSubString(content, reHiddenFormId, 1); if (String.IsNullOrEmpty(formBuildId)) { Debug.Print("Can't find Form Build ID. Check RE"); return; } else if (formBuildId != null) { try { string loginParams = "name=" + HttpUtility.UrlEncode(login) + "&pass="******"&form_build_id=" + formBuildId + "&form_id=user_login_block"; loginWC.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded; charset=UTF-8"; loginWC.UploadString(loginUrl, loginParams); if (loginWC.gotCookies(cookieForTest, mainDomain)) { loginWC.setCookie("chat-img", "1", "chat.sc2tv.ru"); loginWC.setCookie("chat_channel_id", ChannelId.ToString(), "chat.sc2tv.ru"); loginWC.setCookie("chat-on", "1", "chat.sc2tv.ru"); loginWC.DownloadString(chatTokenUrl); loginWC.setCookie("chat_token", loginWC.CookieValue("chat_token", chatDomain + "/gate.php"), "chat.sc2tv.ru"); LoggedIn = true; settingsWC.Cookies = loginWC.Cookies; OnLogon(new Sc2Event()); } } catch { Debug.Print("Exception in Sc2 Login()"); } } } }
public bool Login() { Debug.Print("Goodgame logging in"); lock (loginLock) { try { isLoggedIn = false; if (String.IsNullOrEmpty(_user) || String.IsNullOrEmpty(_password)) { Debug.Print("Goodgame: Username or password is empty"); return(false); } String result = loginWC.DownloadString(@"http://" + domain); string loginParams = "login="******"&password="******"&remember=1"; loginWC.setCookie("fixed", "1", domain); loginWC.setCookie("auto_login_name", _user, domain); loginWC.ContentType = ContentType.UrlEncoded; loginWC.Headers["X-Requested-With"] = "XMLHttpRequest"; result = loginWC.UploadString(loginUrl, loginParams); int.TryParse(loginWC.CookieValue("uid", "http://" + domain), out _userId); result = loginWC.DownloadString(String.Format(userUrl, _userId)); URLUser = Re.GetSubString(result, reChannelUrl, 1); result = loginWC.DownloadString(String.Format(chatUrl, URLUser)); if (String.IsNullOrEmpty(result)) { Debug.Print("Goodgame: Could not fetch " + String.Format(chatUrl, URLUser)); return(false); } int.TryParse(Re.GetSubString(result, @"channelId: (\d+?),", 1), out _chatId); _channel = _chatId.ToString(); _userToken = Re.GetSubString(result, @"token: '(.*?)',", 1); var editContent = loginWC.DownloadString(String.Format(editUlr, URLUser)); var serviceUrls = new String[] { "twitch.tv", "cybergame.tv", "hashd.tv", "youtube.com" }; //<input type="text" name="video_urls[22473]" value="http://twitch.tv/xedoc" ServiceNames = String.Empty; foreach (var service in serviceUrls) { var substr = Re.GetSubString(editContent, @"<input.*?video_urls\[.*?value=.*?(" + service + @")[^\""]*", 1); if (!String.IsNullOrEmpty(substr)) { ServiceNames = ServiceNames + substr; } } isLoggedIn = true; } catch (Exception e) { Debug.Print("Goodgame: login exception " + e.Data + " " + e.StackTrace.ToString()); } return(true); } }
public bool Login() { lock (loginLock) { loginWC.Headers["X-Requested-With"] = "XMLHttpRequest"; try { String result = loginWC.DownloadString(loginPopupUrl); if (String.IsNullOrEmpty(result)) { return(false); } GetCSRFToken(result); if (String.IsNullOrEmpty(csrf_token)) { return(false); } loginWC.ContentType = ContentType.UrlEncoded; loginWC.Headers["Accept"] = "text/html, application/xhtml+xml, */*"; result = loginWC.UploadString(loginUrl, String.Format(loginParams, csrf_token, User, Password)); if (String.IsNullOrEmpty(result)) { return(false); } api_token = loginWC.CookieValue("api_token", "http://" + domain); loginWC.Headers["Twitch-Api-Token"] = api_token; loginWC.Headers["Accept"] = "application/vnd.twitchtv.v2+json"; result = loginWC.DownloadString(oauthUrl); if (String.IsNullOrEmpty(result)) { return(false); } JObject chatOauthJson = JObject.Parse(result); if (chatOauthJson == null) { return(false); } String chatOauthKey = chatOauthJson["chat_oauth_token"].ToString(); if (String.IsNullOrEmpty(chatOauthKey)) { return(false); } ChatOAuthKey = "oauth:" + chatOauthKey; } catch (Exception e) { Debug.Print("Twitch login exception: {0}", e.Message); } if (OnLogin != null) { OnLogin(this, EventArgs.Empty); } return(true); } }