System.Net.HttpWebRequest request;
request = (System.Net.HttpWebRequest)WebRequest.Create("http:www.xxxx.com");
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded; charset=utf-8";
string paraUrlCoded = System.Web.HttpUtility.UrlEncode(textBox4.Text);
paraUrlCoded += "=" + System.Web.HttpUtility.UrlEncode(textBox3.Text);
byte[] payload;
payload = System.Text.Encoding.UTF8.GetBytes(paraUrlCoded);
request.ContentLength = payload.Length;
Stream writer = null;
writer = request.GetRequestStream();
//将请求参数写入流
writer.Write(payload, 0, payload.Length);
// 关闭请求流
writer.Close();
System.Net.HttpWebResponse response = null;
// 获得响应流
response = (System.Net.HttpWebResponse)request.GetResponse();
System.IO.Stream s;
s = response.GetResponseStream();
StreamReader reader = new StreamReader(s);
string strValue = reader.ReadToEnd(); //如果返回数据比较大,可以选择循环读取
reader.Close();
如何发送cookie呢?
下面是火狐浏览器存储的cookie
PHPSESSID:"bjcjcq1q630hkmpjj5a65otev2"
_csrf:"91e0c51dd25fe28d57dcdb673c2b48a48ae843a820390ab8d8cc3f62ab9982b1a:2:{i:0;s:5:"_csrf";i:1;s:32:"TMuJAI2U_7A0qTdkNOKpTroujAdlL4s9";}"
用cookiecontainer,你是要采集需要身份验证的吧。。。demo
C#使用HttpWebRequest提交ASP.NET表单并保持Session和Cookie
HttpRequest r;
r.Cookies.Add(new HttpCookie(name, value));
根据http协议,cookie是放在请求头上,postdata放在正文里,你用fiddler抓包看下就知道了。