ajax请求头cookies中传递sid,C#用HttpWebRequest中post方法发送时,如何获取cookie

StartGet(); //取SID

long TCheckCode = (DateTime.Now.ToUniversalTime().Ticks - 621355968000000000) / 10000;//CheckCode(TCheckCode, textBox1.Text);

Encoding mye= Encoding.GetEncoding("utf-8");

HttpWebRequest myReq= (HttpWebRequest)WebRequest.Create("http://reg.jiayuan.com/libs/xajax/reguser.server.php?processTraceUser");string s = "xajax=processTraceUser&xajaxargs%5B%5D=%3Cxjxquery%3E%3Cq%3Evalidate_code%3D" + textBox1.Text + "%3C%2Fq%3E%3C%2Fxjxquery%3E&xajaxargs%5B%5D=validate_code&xajaxr=" +TCheckCode;byte[] arrB =mye.GetBytes(s);

myReq.Method= "post";

myReq.Accept= "*/*";

myReq.ContentLength=s.Length;

myReq.Headers.Set("x-requested-with", "XMLHttpRequest");

myReq.Headers.Set("Accept-Encoding", "gzip, deflate");

myReq.Headers.Set("Accept-Language", "zh-cn");

myReq.Headers.Set("Cache-Control", "no-cache");

myReq.Headers.Set("sid", SID);

myReq.Headers.Set("Cookie", "cookie");

myReq.ContentType= "application/x-www-form-urlencoded";

myReq.Referer= "http://reg.jiayuan.com/signup/fillbasic.php?bd=204";

myReq.UserAgent= "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; InfoPath.1; .NET4.0C; .NET4.0E; 360SE)";//myReq.KeepAlive = true;//if (cc.Count == 0)//{//myReq.CookieContainer = new CookieContainer();//新建一个杯子//cc = myReq.CookieContainer;//指定拿起这个杯子//}//else//{//myReq.CookieContainer = cc;//}

Stream outStream=myReq.GetRequestStream();

outStream.Write(arrB,0, arrB.Length);

outStream.Close();

HttpWebResponse myResp= null;try{//接收HTTP做出的响应

myResp =(HttpWebResponse)myReq.GetResponse();

}catch(Exception err)

{

MessageBox.Show(err.Message);

}

Stream ReceiveStream=myResp.GetResponseStream();

StreamReader readStream= newStreamReader(ReceiveStream, mye);

Char[] read= new Char[256];int count = readStream.Read(read, 0, 256);string str = null;while (count > 0)

{

str+= new String(read, 0, count);

count= readStream.Read(read, 0, 256);

}//myReq.CookieContainer = cc;//foreach (Cookie cookie in myResp.Cookies)//把服务器给我们的很多滴水,收集放到杯子里面//{//cc.Add(cookie);//}

readStream.Close();

myResp.Close();if (str.Contains("验证码填写错误"))

{

richTextBox1.Text=str;

}else if (str.Contains("CDATA[show exactness"))

{

richTextBox1.Text= "验证码输入正确";

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值