我准备写个论坛客户端,登陆已经实现.就是POST数据模拟登陆.但是在发贴时却总也不成功.网上说的是
应该是得到登陆后返回的COOKIE,然后加入到请求头中,再次POST,就可以实现发贴.但是我用其他的软件截获的发帖时POST出去的COOKIE其中有一段数据根本登陆时是没有返回的信息.
比如:
发贴(POST):DvForum=UserID=5854&usercookies=1&password=X1sFw3i775WsA845&userhidden=0&userclass=%B3%F5%C0%B4%D5%A6%B5%C0&username=pro&StatUserID=22224521292;这一段是登陆时返回的COOKIE
但是cnzz02=49; rtime=1; ltime=1156473162061; cnzz_eid=38629837-http%3A//www.cwnu.org/bbs2/music.htm; ASPSESSIONIDSCATSDSB=DGBJENCDOHDANKBCPINFHHOE; Dvbbs=; upNum=0   这一段就不是了,也不知道是怎么来的.而且我实验过,每次发贴这一段的数据都不同

解决方案 »

  1.   

    去www.codeproject.com
    找HttpClient库..里面什么都有了.
      

  2.   

    用HttpClient最好了.而且是开源的..
    你要的那些东西都在返回的Http头里面..可以用以下代码得到
    //查询Header
    if( !pHttpFile->QueryInfo (HTTP_QUERY_RAW_HEADERS_CRLF,strHeader,NULL) )
    {
    m_strErr.Format("Error Query Head:%s",strUrl);
    TRACE("%s\n",m_strErr);
    return false;
    }
     
    //查询Cookie
    DWORD  dwSize;
    char   strCookie[1024]="";
    ::InternetGetCookie( strUrl,NULL,strCookie,&dwSize);
    strCookieOut.Format("%s",strCookie);
      

  3.   

    这个Cookie中的ASPSESSIONIDSCATSDSB不可能浏览器自己生成的
    肯定有另外一个通过框架或者Javascript请求的另一个页面,生成的这个Cookie