コード例 #1
0
ファイル: MixiClient.cs プロジェクト: kokeiro001/mixi2discord
        public async Task LoginAsync(string email, string password)
        {
            var loginPageHtml = await httpClient.GetStringAsync(@"https://mixi.jp/");

            var postKey = new LoginPostKeyParser().Parse(loginPageHtml);

            var uri = new Uri(@"https://mixi.jp/login.pl?from=login1");

            var content = new FormUrlEncodedContent(new Dictionary <string, string>
            {
                { "email", email },
                { "password", password },
                { "post_key", postKey },
                { "next_url", "/home.pl" },
            });

            var result = await httpClient.PostAsync(uri, content);

            var resultContent = await result.Content.ReadAsStringAsync();

            if (resultContent.Contains("より安全にご利用いただくため、いつもと違う環境からログインする場合、生年月日の確認を行っております。"))
            {
                var additionalResult = await AdditionalLogin(resultContent);

                SetHeader2Cookie(additionalResult);
            }
            else
            {
                SetHeader2Cookie(result);
            }
        }
コード例 #2
0
        public void ParseTest()
        {
            // ログイン完了前の「https://mixi.jp/」をダウンロードしてhtmlディレクトリに配置してから実行する
            var html   = File.OpenText("html/root.html").ReadToEnd();
            var parser = new LoginPostKeyParser();

            parser.Parse(html).IsNotEmpty();
        }