IXMLHTTPRequestPtr   xmlrequest;
xmlrequest.CreateInstance("Msxml2.XMLHTTP");    CComVariant   vFalse(FALSE);   
CComVariant   vNull(NULL);   
xmlrequest->open(_bstr_t("POST"),_bstr_t("https://login.plaync.co.kr/login/login"),vFalse); xmlrequest->setRequestHeader(_bstr_t("Accept"),_bstr_t("**"));   
xmlrequest->setRequestHeader(_bstr_t("Accept-Encoding"),_bstr_t("gzip, deflate")); 
xmlrequest->setRequestHeader(_bstr_t("Accept-Language"),_bstr_t("ko")); 
xmlrequest->setRequestHeader(_bstr_t("Host"),_bstr_t("login.plaync.co.kr"));
xmlrequest->setRequestHeader(_bstr_t("Referer"),_bstr_t("https://login.plaync.co.kr/login/login"));
xmlrequest->setRequestHeader(_bstr_t("User-Agent"),_bstr_t("Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30"));  
xmlrequest->setRequestHeader(_bstr_t("Cache-Control"),_bstr_t("no-cache"));  
xmlrequest->setRequestHeader(_bstr_t("Connection"),_bstr_t("Keep-Alive"));  
xmlrequest->setRequestHeader(_bstr_t("Content-Type"),_bstr_t("application/x-www-form-urlencoded"));   _bstr_t   bsdata=_bstr_t("game_id=13&save=on&id=skycn00001&pwd=qaz23333");//use   your   login   name   and   password   
xmlrequest->send(_variant_t(bsdata)); BSTR   bstrbody,bstrbody1;   
xmlrequest->get_responseText(&bstrbody);   
_bstr_t   bstrtbody(bstrbody);   
MessageBox((LPCTSTR)bstrtbody,"",MB_OK); 表单POST数据已经成功,接下来想继续转到此站其他页面GET其他信息,要如何操作,用什么方法,望高手解答,请给出具体代码及函数

解决方案 »

  1.   

    现在只是个测试,到时候一定会实现异步多线程的,现在只是想知道接下来怎么弄,保持登录模式,转到其他页面GET数据
      

  2.   

    Post成功不一定代表登录就成功,所以你得把信息头中的Cookie取出来保存下来,跟你用手工登录时抓取的信息头包对比一下就知道了。
    登录以后你访问其他页时就把这登录成功时返回的cookie提交上去,也就是每次访问一个页时得添加信息头,如:xmlrequest->setRequestHeader(_bstr_t("Cookie"),_bstr_t("SessionID=1d3e4r475rrtr"));具体的值是你解析下来的值。注意有些网站在登录之前先得访问一下首页,它会返回一个Cookie,在登录时得带上这个Cookie,否则登录不成功,这样的网站很多。