usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Net;usingSystem.Web;usingSystem.IO;usingSystem.Collections;namespace模拟登录
{classProgram
{publicstaticCookieContainer cc=newCookieContainer();staticvoidMain(string[] args)
{
CookieContainer cc=newCookieContainer();//this is for keep the Session and CookieHashtable param=newHashtable();//this is for keep post data.//这个地址是我自己IIS上的地址stringurlLogin="http://www.my.com/CS.aspx";
param.Add("txtName","fxl");
param.Add("txtPwd","123");stringresult=PostAndGetHTML(urlLogin,refcc, param);
Console.WriteLine(result);
}publicstaticstringPostAndGetHTML(stringtargetURL,refCookieContainer cc, Hashtable param)
{stringformData="";foreach(DictionaryEntry deinparam)
{
formData+=de.Key.ToString()+"="+de.Value.ToString()+"&";
}if(formData.Length>0)
formData=formData.Substring(0, formData.Length-1);//remove last '&'ASCIIEncoding encoding=newASCIIEncoding();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();stringresult=newStreamReader(stream, System.Text.Encoding.UTF8).ReadToEnd();returnresult;
}
}
}