winform模拟登录discuz网站 发帖
现在的情况是我能模拟登录,能取到登录后的页面了 但是在发帖即POst数据时 一直说我没登录 哪位大神遇到过类似的情况
------解决方案--------------------可能是会话状态没保存
------解决方案--------------------用的webbrower吗
我用这个做的可以保持浏览器信息
------解决方案--------------------你的cookie没有保存,保存下来后在post的时候把cookie传过去。有两种方法,一个是保存cookie字符串,一个是保存为cookiecontainer。例如:
登录的时候保存cookie
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
using (StreamReader reader = new StreamReader(response.GetResponseStream(), ReqEncoding))
str = reader.ReadToEnd();
CookieContainer SetCookie = new CookieContainer();
foreach (Cookie cookie in response.Cookies)
{
SetCookie.Add(cookie);
}
在post的时候,把cookie写进去
request.CookieContainer = new CookieContainer();
request.CookieContainer = SendCookie;
还有,你的sendString并不是你要post的数据,而是要写进header里面的,post数据是在
这里面的。
用HttpWebRequest是这样的,socket没有试过。
------解决方案--------------------请求来路不正确是因为
"Referer: http://www.dz.com/forum.php?mod=post&action=newthread&fid=36&referer=http%3A//www.dz.com/forum.php%3Fmod%3Dforumdisplay%26fid%3D36";
Referer后面的url地址不正确