关于asp.net c# 模拟登录 ? 关于asp.net c# 模拟登录 ,大家都是怎么做的,httpwebrequest 方式? 这种方式目标页面 的cookie织写不进去。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://topic.csdn.net/u/20110111/17/dcb6aeea-2600-4694-93c5-04611a9ebed2.html httpwebrequest 方式 出现的问题 http://topic.csdn.net/u/20100315/11/d07f1960-70f0-4311-9b69-d4badf24360b.html public CookieContainer Get_Login() { CookieContainer cc = new CookieContainer(); string FormURL = "http://www.boyuanrc.com/job/login.asp"; //处理表单的绝对URL地址 string FormData = "name=cf123&pwd=123456&image2.x=13&image2.y=22&user=1"; //表单需要提交的参数 ASCIIEncoding encoding = new ASCIIEncoding(); byte[] data = encoding.GetBytes(FormData); HttpWebRequest request = (HttpWebRequest)WebRequest.Create(FormURL); request.Method = "POST"; //数据提交方式 request.ContentType = "application/x-www-form-urlencoded"; request.ContentLength = data.Length; //模拟一个UserAgent Stream newStream = request.GetRequestStream(); newStream.Write(data, 0, data.Length); newStream.Close(); request.CookieContainer = cc; HttpWebResponse response = (HttpWebResponse)request.GetResponse(); cc.Add(response.Cookies); Stream stream = response.GetResponseStream(); string WebContent = new StreamReader(stream, System.Text.Encoding.Default).ReadToEnd(); response.Close(); return cc; } protected void btnSubmit_Click(object sender, ImageClickEventArgs e) { if ((this.txtUsername.Text != "") && (this.txtPassword.Text != "")) { string userName = this.txtUsername.Text.Trim(); string userPwd = this.txtPassword.Text.Trim(); Response.Cookies["Username"].Value = this.txtUsername.Text; Response.Cookies["Password"].Value = this.txtPassword.Text; string aidSelect = "select * from emp where emp_name ='" + userName + "' and emp_pwd='" + userPwd + "'"; DataTable fileTable = new DataTable(); fileTable = DbAccess.GetDS(aidSelect).Tables[0]; if (fileTable.Rows.Count > 0) { string roleid = DbAccess.getFieldValue("select Role_id from RolePeopleRela where emp_id = (select emp_id from emp where emp_name ='" + userName + "' and emp_pwd='" + userPwd + "')"); Session ["RoleId"] = roleid; Response.Write("<script>alert('欢迎登陆!')</script>"); Response.Redirect("Index.aspx"); } else { //Response.Write("<script>alert('用户名与密码必须正确才能登陆!')</script>"); DbUITool.JsMsg(this.Page, "用户名与密码必须正确才能登陆!"); Response.Redirect("Login.aspx"); } } else { //Response.Write("<script>alert('用户名与密码不能为空!')</script>"); DbUITool.JsMsg(this.Page, "用户名与密码不能为空!"); } } Response.Cookies["Username"].Value = this.txtUsername.Text; Response.Cookies["Password"].Value = this.txtPassword.Text; 这只是获取目标页面响应生成的cookie, 获取到了 怎么把这个cookie写入到目标页面的域名下面,使用户用IE打开目标页面 就是登录了的状态! 存储过程语法问题?????? gridview内置checkbox的选中问题 请教 点击不同RadioButton使label显示不同的内容 datatable.writexml 时缺少开头的<?xml这个格式,怎么才能加上去呢? asp:ListBox三级联动问题. 谁给推荐一个比较好的内容管理系统 GridView中怎么取到要更新行的主键值和要更新列的元值 技术解析:什么是模式? 什么是框架? 在ASP或ASP.NET的页面上可以调用VF6做的页面吗? 创建用户控件为什么没有界面?将页面转换为用户控件怎样完成?? asp.net 程序中怎样建表 怎么把数据库读出来的文字,变成超链接的样式
httpwebrequest 方式 出现的问题
public CookieContainer Get_Login()
{
CookieContainer cc = new CookieContainer();
string FormURL = "http://www.boyuanrc.com/job/login.asp"; //处理表单的绝对URL地址
string FormData = "name=cf123&pwd=123456&image2.x=13&image2.y=22&user=1"; //表单需要提交的参数
ASCIIEncoding encoding = new ASCIIEncoding();
byte[] data = encoding.GetBytes(FormData);
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(FormURL);
request.Method = "POST"; //数据提交方式
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = data.Length;
//模拟一个UserAgent
Stream newStream = request.GetRequestStream();
newStream.Write(data, 0, data.Length); newStream.Close(); request.CookieContainer = cc; HttpWebResponse response = (HttpWebResponse)request.GetResponse();
cc.Add(response.Cookies);
Stream stream = response.GetResponseStream();
string WebContent = new StreamReader(stream, System.Text.Encoding.Default).ReadToEnd();
response.Close();
return cc;
}
{
if ((this.txtUsername.Text != "") && (this.txtPassword.Text != ""))
{
string userName = this.txtUsername.Text.Trim();
string userPwd = this.txtPassword.Text.Trim();
Response.Cookies["Username"].Value = this.txtUsername.Text;
Response.Cookies["Password"].Value = this.txtPassword.Text;
string aidSelect = "select * from emp where emp_name ='" + userName + "' and emp_pwd='" + userPwd + "'";
DataTable fileTable = new DataTable();
fileTable = DbAccess.GetDS(aidSelect).Tables[0];
if (fileTable.Rows.Count > 0)
{
string roleid = DbAccess.getFieldValue("select Role_id from RolePeopleRela where emp_id = (select emp_id from emp where emp_name ='" + userName + "' and emp_pwd='" + userPwd + "')");
Session ["RoleId"] = roleid;
Response.Write("<script>alert('欢迎登陆!')</script>");
Response.Redirect("Index.aspx");
}
else
{
//Response.Write("<script>alert('用户名与密码必须正确才能登陆!')</script>");
DbUITool.JsMsg(this.Page, "用户名与密码必须正确才能登陆!");
Response.Redirect("Login.aspx");
}
}
else
{
//Response.Write("<script>alert('用户名与密码不能为空!')</script>");
DbUITool.JsMsg(this.Page, "用户名与密码不能为空!");
}
}
Response.Cookies["Password"].Value = this.txtPassword.Text;