• C#.NET应用程序实现网页自动登录


    用C#语言编写一个Windows Form应用程序,实现自动登录一个特定的页面。

    下面以自动登录:http://bm.chinaz.com/Web/Login.aspx 作为例子,讲解如何模拟手工输入用户名密码并点击登录,实现自动登录。

    新建一个C#应用程序,给应用程序起个名字,如AutoLogin,在窗体中添加一个TextBox、Button,及WebBrowser控件,并为WebBrowser控件添加webBrowser1_DocumentCompleted事件。

    按钮的点击事件以及webBrowser1_DocumentCompleted的代码如下:

    private void btn_Add_Click(object sender, EventArgs e)
            {
                string sUrl = txb_Url.Text.Trim();
                if (sUrl.Length > 0)
                {
                    webBrowser1.Navigate(sUrl);
                }
            }
    
            private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
            {
                HtmlElement ClickBtn = null;
                if (e.Url.ToString().ToLower().IndexOf("login.aspx") > 0)
                {
                    HtmlDocument doc = webBrowser1.Document;
                    for (int i = 0; i < doc.All.Count; i++)
                    {
                        if(doc.All[i].TagName.ToUpper().Equals("INPUT"))
                        {
                            switch(doc.All[i].Name)
                            {
                                case "txtUserName":
                                    doc.All[i].InnerText = "xxxx@yy.com";  // 用户名
                                    break;
                                case "txtPassword":
                                    doc.All[i].InnerText = "zzzzzz";      // 密码
                                    break;
                                case "btnSubmit":
                                    ClickBtn = doc.All[i];
                                    break;
                            }
                        }
                    }
                    ClickBtn.InvokeMember("Click");            // 点击“登录”按钮
                }
            }
    

    当在TextBox中输入http://bm.chinaz.com/Web/Login.aspx 并点击按钮后,就可以实现页面的自动登录了。

  • 相关阅读:
    .net反编译原理
    科学使用Log4View2
    头条一面竟然问我Maven?
    SpringCloud Netflix(一) :微服务架构
    Linux环境安装Docker
    Quartz定时任务
    Jedis连接外部Redis
    宝塔phpmyadmin打不开的可能问题及解决方法
    文件上传 Window & Linux
    SpringBoot登录判断
  • 原文地址:https://www.cnblogs.com/joeblackzqq/p/1903967.html
Copyright © 2020-2023  润新知