Beispiel #1
0
        private bool DoLogin(NijieLoginInfo info)
        {
            IsLoggedIn = false;
            ExtendedWebClient client = new ExtendedWebClient();
            NameValueCollection loginInfo = new NameValueCollection();
            loginInfo.Add("email", info.UserName);
            loginInfo.Add("password", info.Password);
            if (info.RememberLogin)
                loginInfo.Add("save", "on");
            loginInfo.Add("ticket", info.Ticket);
            loginInfo.Add("url", info.ReturnUrl);

            var result = client.UploadValues(Util.FixUrl(NijieConstants.NIJIE_LOGIN_URL2, ROOT_DOMAIN, Properties.Settings.Default.UseHttps), "POST", loginInfo);
            //String data = Encoding.UTF8.GetString(result);

            var location = client.Response.ResponseUri.ToString();
            if (!String.IsNullOrWhiteSpace(location))
            {
                if (location.Contains(@"//nijie.info/login.php?"))
                    IsLoggedIn = false;
                else
                    IsLoggedIn = true;
            }

            var uri = new Uri(Util.FixUrl("//nijie.info", ROOT_DOMAIN, Properties.Settings.Default.UseHttps));
            ExtendedWebClient.CookieJar.Add(uri, new Cookie("R18", "1"));
            var cookies = ExtendedWebClient.CookieJar.GetCookies(uri);
            foreach (Cookie item in cookies)
            {
                //Cookie: NIJIEIJIEID=lp1ffmjc9gi7a3u9qkj8p566u3
                if (item.Name == "NIJIEIJIEID")
                {
                    NijieSessionID = item.Value;
                    item.Expires = DateTime.MaxValue;
                    break;
                }
            }

            PrintCookie("Login:");

            return IsLoggedIn;
        }