关于Socket模拟登录网站的有关问题

关于Socket模拟登录网站的问题?
本帖最后由 VisualEleven 于 2012-11-04 14:06:59 编辑 我用抓包软件抓了浏览器登录发送的数据包,然后用socket模拟发送数据包登陆网站。
现在发现用软件模拟登录时,服务器返回的是302 Found。而用浏览器返回的是200 OK。
请问这是为什么?我完全按照服务器发送的数据包进行登录,但是返回的结果和浏览器的不一样,求解?

下面是我发送的数据

CString str;
 str = "POST /prog/wapsite/sso/login.php?rand=1345583512&backURL=http%3A%2F%2Fweibo.cn%2F&backTitle=%D0%C2%C0%CB%CE%A2%B2%A9&vt=4&revalid=2&ns=1 HTTP/1.1\r\n"
        //主机
        "Host: 3g.sina.com.cn \r\n"
        //浏览器标识
        "User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:16.0) Gecko/20100101 Firefox/16.0\r\n"

        "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n"
        "Accept-Language: zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3\r\n"
        "Accept-Encoding: gzip, deflate\r\n"
        "Connection: keep-alive\r\n"
        "Referer: http://3g.sina.com.cn/prog/wapsite/sso/login_submit.php?rand=1914300964&backURL=http%3A%2F%2Fweibo.cn%2F&backTitle=%D0%C2%C0%CB%CE%A2%B2%A9&vt=4&revalid=2&ns=1\r\n"
        //cookie
        "Cookie:这里是cookie\r\n"
        //cookie
        "Content-Type: application/x-www-form-urlencoded\r\n"
        "Content-Length: 197\r\n\r\n"
        "mobile=这里是提交给服务器的信息\r\n";

------最佳解决方案--------------------
302: 是重定向吧,HTTP里应该还有Location:字段吧,后面写的是重定向的URL,你需要重新访问这个URL
------其他解决方案--------------------
302错误表示被请求的资源暂时转移(Moved temporatily),然后会给出一个转移后的URL,而浏览器在处理服务器返回的302错误时,原则上会重新建立一个TCP连接,然后再取重定向后的URL的页面;但是如果页面存在于缓存中,则不重新获取。
------其他解决方案--------------------
引用:
302: 是重定向吧,HTTP里应该还有Location:字段吧,后面写的是重定向的URL,你需要重新访问这个URL

恩对,是有location字段,但是我用GET的方法去访问url,服务器他不给我返回信息,revc函数阻塞到超时。
不过我比较纳闷的是,我POST的数据都是从浏览器抓包的,用浏览器访问,服务器返回HTTP 200 OK,而我用程序模拟则返回302 Found