日期:2014-05-17  浏览次数:21359 次

winform模拟登录discuz网站 发帖
现在的情况是我能模拟登录,能取到登录后的页面了 但是在发帖即POst数据时 一直说我没登录 哪位大神遇到过类似的情况 
winform discuz

------解决方案--------------------
可能是会话状态没保存
------解决方案--------------------
用的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地址不正确