none
C#でニコニコ動画に自動ログインさせたいです。 RRS feed

  • 質問

  • C#のWebBrowserを使ってニコニコ動画に自動ログインさせたいのですがいろいろな方法を試しましたがいいのが無くて…
    2019年8月15日 6:44

すべての返信

  • こんな?

    using System;
    using System.Windows.Forms;
    
    namespace WindowsFormsApp1
    {
        public partial class Form1 : Form
        {
            //const string ID = "ろぐいんID";
            //const string PASS = "ぱすわーど";
    
            const string NICO_LOGIN_URL ="https://account.nicovideo.jp/login";
    
            private WebBrowser wb;
    
            public Form1()
            {
                InitializeComponent();
    
                wb = new WebBrowser() { Dock = DockStyle.Fill };
                this.Controls.Add(wb);
    
                MenuStrip menu = new MenuStrip();
                menu.Items.Add(new ToolStripMenuItem("Login", null, new EventHandler(button1_Click)));
                this.Controls.Add(menu);
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                wb.DocumentCompleted += wb_DocumentCompleted;
                wb.Navigate(NICO_LOGIN_URL);
            }
    
            private void wb_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
            {
                if (e.Url.AbsoluteUri == NICO_LOGIN_URL)
                {
                    wb.DocumentCompleted -= wb_DocumentCompleted;
    
                    HtmlElement elem1 = wb.Document.GetElementById("input__mailtel");
                    HtmlElement elem2 = wb.Document.GetElementById("input__password");
                    HtmlElement elem3 = wb.Document.GetElementById("login__submit");
    
                    //Microsoft.mshtmlを参照追加
                    var mailtel = elem1.DomElement as mshtml.HTMLInputElement;
                    mailtel.value=ID;
    
                    var password=elem2.DomElement as mshtml.HTMLInputElement;
                    password.value= PASS;
    
                    var button= elem3.DomElement as mshtml.HTMLInputButtonElement;
                    button.click();
                }
            }
        }
    }


    個別に明示されていない限りgekkaがフォーラムに投稿したコードにはフォーラム使用条件に基づき「MICROSOFT LIMITED PUBLIC LICENSE」が適用されます。(かなり自由に使ってOK!)

    2019年8月15日 8:05
  • これが出てきてよくわかりません

    https://social.msdn.microsoft.com/Forums/getfile/1472529

    2019年8月15日 15:50
  • もうちょっとヒントをください。。
    プログラムがどういう反応をしてきたかが知りたいです。

    ボタンをクリックすると、「ページが見つかりません。というウェブページが表示される」とかかな。

    2019年8月18日 0:05
  • 阿住さん、こんにちは。フォーラムオペレーターのHarukaです。
    MSDNフォーラムにご投稿くださいましてありがとうございます。

    ご質問いただいた件につきまして、その後のご状況いかがでしょうか。
    追加でご確認いただいたことなどあれば、追記いただくことで回答がつきやすくなります。

    どうぞよろしくお願いします。


    MSDN/ TechNet Community Support Haruka

    ~参考になった投稿には「回答としてマーク」をご設定ください。なかった場合は「回答としてマークされていない」も設定できます。同じ問題で後から参照した方が、情報を見つけやすくなりますので、
    ご協力くださいますようお願いいたします。また、MSDNサポートに賛辞や苦情がある場合は、MSDNFSF@microsoft.comまでお気軽にお問い合わせください。~

    2019年8月28日 8:34
    モデレータ