public String Post(string url, stringpostData)
{try{#region 登录
string loginurl = "http://10.16.230.26:8080/login.aspx?ReturnUrl=%2flogout.aspx";byte[] loginByteArray = Encoding.UTF8.GetBytes(postData); //转化
CookieContainer myCookieContainer = newCookieContainer();//新建一个CookieContainer来存放Cookie集合
HttpWebRequest myHttpWebRequest =(HttpWebRequest)WebRequest.Create(loginurl);//新建一个HttpWebRequest
myHttpWebRequest.ContentType = "application/x-www-form-urlencoded";
myHttpWebRequest.ContentLength=loginByteArray.Length;
myHttpWebRequest.Method= "POST";
myHttpWebRequest.CookieContainer=myCookieContainer;//设置HttpWebRequest的CookieContainer为刚才建立的那个myCookieContainer
Stream myRequestStream =myHttpWebRequest.GetRequestStream();//Send the data.
myRequestStream.Write(loginByteArray, 0, loginByteArray.Length); //写入参数
myRequestStream.Close();//把数据写入HttpWebRequest的Request流
myRequestStream.Close();//关闭打开对象
HttpWebResponse myHttpWebResponse =(HttpWebResponse)myHttpWebRequest.GetResponse();//新建一个HttpWebResponse
myHttpWebResponse.Cookies =myCookieContainer.GetCookies(myHttpWebRequest.RequestUri);//获取一个包含url的Cookie集合的CookieCollection
Stream myResponseStream =myHttpWebResponse.GetResponseStream();
StreamReader myStreamReader= newStreamReader(myResponseStream, Encoding.UTF8);//把数据从HttpWebResponse的Response流中读出
myStreamReader.Close();
myResponseStream.Close();#endregion
byte[] byteArray = Encoding.UTF8.GetBytes(postData); //转化//拿到了Cookie,再进行请求就能直接读取到登录后的内容了
myHttpWebRequest =(HttpWebRequest)WebRequest.Create(url);
myHttpWebRequest.Headers.Add("Accept-Language: zh-cn");
myHttpWebRequest.Headers.Add("UA-CPU: x86");
myHttpWebRequest.Headers.Add("Accept-Encoding: gzip, deflate");
myHttpWebRequest.UserAgent= "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Embedded Web Browser from: http://bsalsa.com/; InfoPath.2; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022)";
myHttpWebRequest.ContentType= "application/x-www-form-urlencoded";
myHttpWebRequest.ContentLength=byteArray.Length;
myHttpWebRequest.Method= "POST";
myHttpWebRequest.CookieContainer= myCookieContainer;//*//刚才那个CookieContainer已经存有了Cookie,把它附加到HttpWebRequest中则能直接通过验证
myRequestStream=myHttpWebRequest.GetRequestStream();//Send the data.
myRequestStream.Write(byteArray, 0, byteArray.Length); //写入参数
myRequestStream.Close();
myHttpWebResponse=(HttpWebResponse)myHttpWebRequest.GetResponse();
myHttpWebResponse.Cookies=myCookieContainer.GetCookies(myHttpWebRequest.RequestUri);
myResponseStream=myHttpWebResponse.GetResponseStream();
myStreamReader= newStreamReader(myResponseStream, Encoding.UTF8);string outdata =myStreamReader.ReadToEnd();
myStreamReader.Close();
myResponseStream.Close();returnoutdata;
}catch(Exception ex)
{returnString.Empty;
}
}