1.自己设计的一个登录页面,两个TextBox(txtName,txtPwd)框和一个Button,Button事件中设置(
protected void Button1_Click(object sender, EventArgs e) { if (txtName.Text == "fxl" && txtPwd.Text == "123") { Response.Redirect("Main.aspx"); } }
)
2.添加一个控制台程序:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Net;using System.Web;using System.IO;using System.Collections;namespace 模拟登录{ class Program { public static CookieContainer cc = new CookieContainer(); static void Main(string[] args) { CookieContainer cc = new CookieContainer();//this is for keep the Session and Cookie Hashtable param = new Hashtable();//this is for keep post data. //这个地址是我自己IIS上的地址 string urlLogin = "http://www.my.com/CS.aspx"; param.Add("txtName", "fxl"); param.Add("txtPwd", "123"); string result = PostAndGetHTML(urlLogin,ref cc, param); Console.WriteLine(result); } public static string PostAndGetHTML(string targetURL,ref CookieContainer cc, Hashtable param) { string formData = ""; foreach (DictionaryEntry de in param) { formData += de.Key.ToString() + "=" + de.Value.ToString()+"&"; } if(formData.Length>0) formData = formData.Substring(0, formData.Length - 1); //remove last '&' ASCIIEncoding encoding = new ASCIIEncoding(); byte[] data = encoding.GetBytes(formData); HttpWebRequest request = (HttpWebRequest)WebRequest.Create(targetURL); request.Method = "POST"; //post request.ContentType = "application/x-www-form-urlencoded"; request.ContentLength = data.Length; request.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 5.2; zh-CN; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13 (.NET CLR 3.5.30729)"; 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 result = new StreamReader(stream, System.Text.Encoding.UTF8).ReadToEnd(); return result; } }}
问题1.但是获取的源代码总是登录页面的,请大家看看怎么才能获得登录后页面的源代码
2.POST数据用不用加上Button1这个参数,我是使用Firefox中的firebug获取页面的POST信息的
- 3 回答
- 0 关注
- 322 浏览
添加回答
举报
0/150
提交
取消