欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C#.NET实现网页自动登录的方法

程序员文章站 2023-11-09 19:04:04
本文实例讲述了c#.net实现网页自动登录的方法。分享给大家供大家参考。具体如下: 用c#语言编写一个windows form应用程序,实现自动登录一个特定的页面。 下...

本文实例讲述了c#.net实现网页自动登录的方法。分享给大家供大家参考。具体如下:

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

下面以自动登录:http://localhost/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://localhost/web/login.aspx 并点击按钮后,就可以实现页面的自动登录了。

希望本文所述对大家的c#程序设计有所帮助。