using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Xml;
using mshtml;namespace WindowsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
textBox_url.Text = "http://bbs.jznews.com.cn/portal.php";
InitListView();
LoadUserData();
}
//private void herfclick(string url)
//{ // for (int i = 0; i < webBrowser1.Document.All.Count; i++)
// { // if (webBrowser1.Document.All[i].TagName == "A" && webBrowser1.Document.All[i].GetAttribute("href").ToString().Trim() == url)
// { // webBrowser1.Document.All[i].InvokeMember("click");//引发”CLICK”事件 // break; // } // } //}
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
webBrowser1.ScriptErrorsSuppressed = true;
if ((e.Url.ToString().ToLower().Equals("http://bbs.jznews.com.cn/portal.php")) //登陆页面
|| (e.Url.ToString().ToLower().Equals("")))
{
HtmlElement textboxUserId = this.webBrowser1.Document.GetElementById("ls_username");
//如果没有ID,用 Name 获取
//HtmlElement textboxUserId = this.webBrowser1.Document.All["登录用户名文本框的Name"]; HtmlElement textboxPassword = this.webBrowser1.Document.GetElementById("ls_password");
//如果没有ID, 用Name 获取
//HtmlElement textboxPassword = this.webBrowser1.Document.All["登录密码框的Name"]; //HtmlElement buttonSubmit = this.webBrowser1.Document.GetElementById("ls_cookietime");
//如果没有ID, 用Name获取
//HtmlElement buttonSubmit = this.webBrowser1.Document.All["ls_cookietime"];
for (int i = this.listView_usr.SelectedItems.Count - 1; i >= 0; i--)
{
ListViewItem item = this.listView_usr.SelectedItems[i];
//this.listView_usr.Items.Remove(item);
string strUsr = item.SubItems[0].Text;
string strPwd = item.SubItems[1].Text;
textboxUserId.InnerText = strUsr; //填写帐号
textboxPassword.InnerText = strPwd; //填写密码
}
//触发登录事件
HtmlElementCollection elements = this.webBrowser1.Document.GetElementsByTagName("button");
//Request.ServerVariables("HTTP_REFERER");
foreach (HtmlElement item in elements)
{
if (item.GetAttribute("className").Equals("pn vm") && item.GetAttribute("type").Equals("submit"))
{
//continue;
item.InvokeMember("click");
}
//else if (item != textBox_url.Text)
//{
// item.InvokeMember("click");
//}
}
}
//else if ((e.Url.ToString().ToLower().Equals("http://bbs.jznews.com.cn/portal.php"))
// || (e.Url.ToString().ToLower().Equals("http://bbs.jznews.com.cn/")))
//{ // HtmlElementCollection links = webBrowser1.Document.Links;
// foreach (HtmlElement link in links)
// { // if (null == link.InnerText)
// {
// continue;
// } // if (link.InnerText.Equals(""))
// {
// link.InvokeMember("click"); //激发链接的点击事件 // } // }
//}
}
private void webBrowser1_NewWindow(object sender, CancelEventArgs e)
{
e.Cancel = true; //取消使用系统的IE打开超链接
webBrowser1.Navigate((sender as WebBrowser).Document.ActiveElement.GetAttribute("href"));
//继续在窗体中打开页面
}
private void webBrowserQuit()
{
if (null == webBrowser1.Document)
{
return;
} webBrowser1.Document.Cookie = "";
HtmlElementCollection links = webBrowser1.Document.Links;
if (null == links)
{
return;
} foreach (HtmlElement link in links)
{
if (null == link.InnerText)
{
continue;
} if (link.InnerText.Equals("退出"))
{
link.InvokeMember("click"); //激发链接的点击事件
break;
}
}
} private void button1_Click(object sender, EventArgs e)
{
if ("" != textBox_url.Text)
{
webBrowserQuit();
//if (null == webBrowser1.Url)
//{
webBrowser1.Url = new Uri(textBox_url.Text);
//}
}
} private void InitListView()
{
listView_usr.GridLines = true;
listView_usr.FullRowSelect = true;
listView_usr.View = View.Details;
listView_usr.Scrollable = true;
listView_usr.MultiSelect = false;
listView_usr.HeaderStyle = ColumnHeaderStyle.Nonclickable;
listView_usr.Columns.Add("用户名", 100, HorizontalAlignment.Right);
listView_usr.Columns.Add("密码", 100, HorizontalAlignment.Left);
} private void LoadUserData()
{
XmlDocument XMLDom = new XmlDocument();
string strPath = System.Environment.CurrentDirectory + "/user.xml";
XMLDom.Load(strPath);
XmlNodeList newXMLNodes = XMLDom.SelectNodes("/users/user");
listView_usr.Items.Clear();
foreach (XmlElement xn in newXMLNodes)
{
//XmlElement* pstElememt = (XmlElement*)&XmlNode;
string strId = xn.GetAttribute("id");
string strPwd = xn.GetAttribute("pwd");
ListViewItem li = new ListViewItem ( ) ;
li.SubItems.Clear ( ) ;
li.SubItems[0].Text = strId;
li.SubItems.Add(strPwd); listView_usr.Items.Add(li);
//MessageBox.Show(title);
}
} private void listView_usr_SelectedIndexChanged(object sender, EventArgs e)
{
if ("" != textBox_url.Text)
{
webBrowserQuit();
webBrowser1.Url = new Uri(textBox_url.Text);
}
} private void listView_usr_DoubleClick(object sender, EventArgs e)
{
if ("" != textBox_url.Text)
{
webBrowserQuit();
if (null == webBrowser1.Url)
{
webBrowser1.Url = new Uri(textBox_url.Text);
}
}
} private void button_addusr_Click(object sender, EventArgs e)
{
XmlDocument XMLDom = new XmlDocument();
string strPath = System.Environment.CurrentDirectory + "/user.xml";
XMLDom.Load(strPath);
XmlElement theUser = XMLDom.CreateElement("user");
theUser.SetAttribute("id", textBox_usr.Text);
theUser.SetAttribute("pwd", textBox_pwd.Text);
XMLDom.DocumentElement.AppendChild(theUser);
XMLDom.Save(strPath); LoadUserData();
} private void button_delusr_Click(object sender, EventArgs e)
{
XmlDocument XMLDom = new XmlDocument();
string strPath = System.Environment.CurrentDirectory + "/user.xml";
XMLDom.Load(strPath); for (int i = this.listView_usr.SelectedItems.Count - 1; i >= 0; i--)
{
ListViewItem item = this.listView_usr.SelectedItems[i];
//this.listView_usr.Items.Remove(item);
string strUsr = item.SubItems[0].Text;
string strItemPath = "/users/user[@id=\"" + strUsr +"\"]";
XmlElement theUser = (XmlElement)XMLDom.SelectSingleNode(strItemPath);
if (null != theUser)
{
theUser.ParentNode.RemoveChild(theUser);
}
} XMLDom.Save(strPath);
LoadUserData();
} private void Form1_Load(object sender, EventArgs e)
{ }
}
}
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Xml;
using mshtml;namespace WindowsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
textBox_url.Text = "http://bbs.jznews.com.cn/portal.php";
InitListView();
LoadUserData();
}
//private void herfclick(string url)
//{ // for (int i = 0; i < webBrowser1.Document.All.Count; i++)
// { // if (webBrowser1.Document.All[i].TagName == "A" && webBrowser1.Document.All[i].GetAttribute("href").ToString().Trim() == url)
// { // webBrowser1.Document.All[i].InvokeMember("click");//引发”CLICK”事件 // break; // } // } //}
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
webBrowser1.ScriptErrorsSuppressed = true;
if ((e.Url.ToString().ToLower().Equals("http://bbs.jznews.com.cn/portal.php")) //登陆页面
|| (e.Url.ToString().ToLower().Equals("")))
{
HtmlElement textboxUserId = this.webBrowser1.Document.GetElementById("ls_username");
//如果没有ID,用 Name 获取
//HtmlElement textboxUserId = this.webBrowser1.Document.All["登录用户名文本框的Name"]; HtmlElement textboxPassword = this.webBrowser1.Document.GetElementById("ls_password");
//如果没有ID, 用Name 获取
//HtmlElement textboxPassword = this.webBrowser1.Document.All["登录密码框的Name"]; //HtmlElement buttonSubmit = this.webBrowser1.Document.GetElementById("ls_cookietime");
//如果没有ID, 用Name获取
//HtmlElement buttonSubmit = this.webBrowser1.Document.All["ls_cookietime"];
for (int i = this.listView_usr.SelectedItems.Count - 1; i >= 0; i--)
{
ListViewItem item = this.listView_usr.SelectedItems[i];
//this.listView_usr.Items.Remove(item);
string strUsr = item.SubItems[0].Text;
string strPwd = item.SubItems[1].Text;
textboxUserId.InnerText = strUsr; //填写帐号
textboxPassword.InnerText = strPwd; //填写密码
}
//触发登录事件
HtmlElementCollection elements = this.webBrowser1.Document.GetElementsByTagName("button");
//Request.ServerVariables("HTTP_REFERER");
foreach (HtmlElement item in elements)
{
if (item.GetAttribute("className").Equals("pn vm") && item.GetAttribute("type").Equals("submit"))
{
//continue;
item.InvokeMember("click");
}
//else if (item != textBox_url.Text)
//{
// item.InvokeMember("click");
//}
}
}
//else if ((e.Url.ToString().ToLower().Equals("http://bbs.jznews.com.cn/portal.php"))
// || (e.Url.ToString().ToLower().Equals("http://bbs.jznews.com.cn/")))
//{ // HtmlElementCollection links = webBrowser1.Document.Links;
// foreach (HtmlElement link in links)
// { // if (null == link.InnerText)
// {
// continue;
// } // if (link.InnerText.Equals(""))
// {
// link.InvokeMember("click"); //激发链接的点击事件 // } // }
//}
}
private void webBrowser1_NewWindow(object sender, CancelEventArgs e)
{
e.Cancel = true; //取消使用系统的IE打开超链接
webBrowser1.Navigate((sender as WebBrowser).Document.ActiveElement.GetAttribute("href"));
//继续在窗体中打开页面
}
private void webBrowserQuit()
{
if (null == webBrowser1.Document)
{
return;
} webBrowser1.Document.Cookie = "";
HtmlElementCollection links = webBrowser1.Document.Links;
if (null == links)
{
return;
} foreach (HtmlElement link in links)
{
if (null == link.InnerText)
{
continue;
} if (link.InnerText.Equals("退出"))
{
link.InvokeMember("click"); //激发链接的点击事件
break;
}
}
} private void button1_Click(object sender, EventArgs e)
{
if ("" != textBox_url.Text)
{
webBrowserQuit();
//if (null == webBrowser1.Url)
//{
webBrowser1.Url = new Uri(textBox_url.Text);
//}
}
} private void InitListView()
{
listView_usr.GridLines = true;
listView_usr.FullRowSelect = true;
listView_usr.View = View.Details;
listView_usr.Scrollable = true;
listView_usr.MultiSelect = false;
listView_usr.HeaderStyle = ColumnHeaderStyle.Nonclickable;
listView_usr.Columns.Add("用户名", 100, HorizontalAlignment.Right);
listView_usr.Columns.Add("密码", 100, HorizontalAlignment.Left);
} private void LoadUserData()
{
XmlDocument XMLDom = new XmlDocument();
string strPath = System.Environment.CurrentDirectory + "/user.xml";
XMLDom.Load(strPath);
XmlNodeList newXMLNodes = XMLDom.SelectNodes("/users/user");
listView_usr.Items.Clear();
foreach (XmlElement xn in newXMLNodes)
{
//XmlElement* pstElememt = (XmlElement*)&XmlNode;
string strId = xn.GetAttribute("id");
string strPwd = xn.GetAttribute("pwd");
ListViewItem li = new ListViewItem ( ) ;
li.SubItems.Clear ( ) ;
li.SubItems[0].Text = strId;
li.SubItems.Add(strPwd); listView_usr.Items.Add(li);
//MessageBox.Show(title);
}
} private void listView_usr_SelectedIndexChanged(object sender, EventArgs e)
{
if ("" != textBox_url.Text)
{
webBrowserQuit();
webBrowser1.Url = new Uri(textBox_url.Text);
}
} private void listView_usr_DoubleClick(object sender, EventArgs e)
{
if ("" != textBox_url.Text)
{
webBrowserQuit();
if (null == webBrowser1.Url)
{
webBrowser1.Url = new Uri(textBox_url.Text);
}
}
} private void button_addusr_Click(object sender, EventArgs e)
{
XmlDocument XMLDom = new XmlDocument();
string strPath = System.Environment.CurrentDirectory + "/user.xml";
XMLDom.Load(strPath);
XmlElement theUser = XMLDom.CreateElement("user");
theUser.SetAttribute("id", textBox_usr.Text);
theUser.SetAttribute("pwd", textBox_pwd.Text);
XMLDom.DocumentElement.AppendChild(theUser);
XMLDom.Save(strPath); LoadUserData();
} private void button_delusr_Click(object sender, EventArgs e)
{
XmlDocument XMLDom = new XmlDocument();
string strPath = System.Environment.CurrentDirectory + "/user.xml";
XMLDom.Load(strPath); for (int i = this.listView_usr.SelectedItems.Count - 1; i >= 0; i--)
{
ListViewItem item = this.listView_usr.SelectedItems[i];
//this.listView_usr.Items.Remove(item);
string strUsr = item.SubItems[0].Text;
string strItemPath = "/users/user[@id=\"" + strUsr +"\"]";
XmlElement theUser = (XmlElement)XMLDom.SelectSingleNode(strItemPath);
if (null != theUser)
{
theUser.ParentNode.RemoveChild(theUser);
}
} XMLDom.Save(strPath);
LoadUserData();
} private void Form1_Load(object sender, EventArgs e)
{ }
}
}
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Security;namespace HRMS.Controllers
{
/// <summary>
/// 防盗链(Filter)
/// </summary>
public class MyFilter:ActionFilterAttribute
{
public override void OnActionExecuted(ActionExecutedContext filterContext)
{
//base.OnActionExecuted(filterContext);
var user=filterContext.HttpContext.Session["user"];
if (user == null)
{
filterContext.HttpContext.Response.Write("<script>alert('请登陆...')</script>");
//获取刚刚用户浏览的URL(不指定参数值)
string url = FormsAuthentication.DefaultUrl;
filterContext.HttpContext.Response.Write("<script>window.parent.location.assign('" + url + "')</script>");
}
}
}
}
//用法
[类名(就是放上面源代码的类名)]
public resultaction XX()
{
...
}