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 CookieHashtable 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"; //postrequest.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信息的