最近想学习应用IDHTTP这个控件,用这个IDHTTP登陆其他网站后再访问接下来的网站没出错,可是今天想登陆赶集网登陆成功后,点“进入会员中心管理发布的信息”,进入到会员中心首页http://www.ganji.com/vip/index.php,用IDHTTP模拟成功登陆后 然后GEThttp://www.ganji.com/vip/index.php,返回信息却表示未登陆网站 需要从新登陆 这是为什么啊?困惑了一整天了,求高人解惑,感激不尽!

解决方案 »

  1.   

    GET /vip/index.php HTTP/1.1
    Accept: application/x-shockwave-flash, image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/msword, application/vnd.ms-excel, application/vnd.ms-powerpoint, */*
    Referer: http://www.ganji.com/user/login_success.php?username=189e69c3&next=http%3A%2F%2Fbj.ganji.com%2F
    Accept-Language: zh-cn
    User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; SV1; .NET CLR 2.0.50727; 360SE)
    Accept-Encoding: gzip, deflate
    Host: www.ganji.com
    Connection: Keep-Alive
    Cookie: __utmc=32156897; _gl_tracker=%7B%22ca_source%22%3A%22hao.360.cn%22%2C%22ca_name%22%3A%22hao360_hao360_011_quanguoshouye%22%2C%22ca_kw%22%3A%22%22%2C%22ca_id%22%3A%22%22%2C%22sid%22%3A62468462973%7D; GANJISESSID=c075743aa4edcd7718776b9cc03ac1ab; citydomain=bj; __utma=32156897.1436394078.1334469449.1334502587.1334568068.5; __utmz=32156897.1334568068.5.4.utmcsr=hao.360.cn|utmccn=(referral)|utmcmd=referral|utmcct=/; ganji_uuid=3618082767188231089551; __utmb=32156897.28.10.1334568068; GanjiUserName=189e69c3; GanjiUserInfo=%7B%22user_id%22%3A%22103787743%22%2C%22user_name%22%3A%22189e69c3%22%2C%22email%22%3A%22%22%2C%22status%22%3A%220%22%2C%22province%22%3A%220%22%2C%22city%22%3A%220%22%2C%22city_code%22%3A%220%22%2C%22district%22%3A%220%22%2C%22registration_date%22%3A%221334382231%22%2C%22gender%22%3A%223%22%2C%22photo%22%3A%220%22%2C%22email_auth_time%22%3A%220%22%2C%22phone%22%3A%220%22%2C%22phone_auth_time%22%3A%220%22%2C%22nickname%22%3A%22%22%2C%22regcity%22%3A%22%22%2C%22lastcity%22%3A%22%22%2C%22is_mobile%22%3A%220%22%2C%22is_authemail%22%3A%220%22%2C%22is_authphone%22%3A%220%22%2C%22username%22%3A%22189e69c3%22%7D; supercookie=ZGNmAmt3AmDmWQWuMTRmMwV1MTWyAGD3ZmZkLzL4BGEwLJZ0BQEyZGWyL2IvLzIuLJL%3D; sscode=J8Eezs7gDmnEVGGwohF3ljh%2B3z0%3D%24YGRmAGt4AGpm%24ZGt5MGL5LmZ%3D; LastLoginTime=2012-4-16; sscTime=1334568861%7C90; _gl_speed=%5B%22%2Fvip%2Findex.php%22%2C1334568869843%5D这是点“进入会员中心管理发布的信息“,进入到会员中心首页http://www.ganji.com/vip/index.php抓到的包。然后:form1.Memo1.Text :=Utf8ToAnsi(Form1.IdHTTP1.Get('http://www.ganji.com/vip/')); 却返回需要从新登陆问题出现在哪里啊?好心人帮下忙吧!
      

  2.   

    带上cookie没有?
      

  3.   

    Cookie:后面那样多内容都带上吗 怎么搞到啊 而且都是变化的
      

  4.   

         if Form1.idhttp1.CookieManager.CookieCollection.Count > 0 then
     begin
    for i:=0 to Form1.IdHTTP1.CookieManager.CookieCollection.Count -1 do   Form1.memo6.Lines.Add(Form1.IdHTTP1.CookieManager.CookieCollection[i].CookieText);
      Form1.memo6.text:=Copy(Form1.memo6.text,1,Pos(';',Form1.memo6.text));end;得到的只有:GANJISESSID=4b2cfd0083f5863c27565bdb93d9e5b1;
      

  5.   

    Form1.memo6.Lines.Add(Form1.IdHTTP1.CookieManager.CookieCollection[i].CookieText);
    Form1.memo6.text:=Copy(Form1.memo6.text,1,Pos(';',Form1.memo6.text));这里有100个Cookie,被你取了以后,也只有一个了
    被你给覆盖了啊
    其实两个控件就可以行的。
    IdHttp
    IdHttpManager
    再在 IdHttp.CookieManager 里指一下 IdHttpCookieManager
    Cookie的事,它能自己搞定的
      

  6.   

    那些开头带下划线的,都是 网站排名用的垃圾Cookie.不用去理会它们的
      

  7.   

    if Form1.IdHTTP1.CookieManager.CookieCollection.Count > 0 then
    for i := 0 to Form1.IdHTTP1.CookieManager.CookieCollection.Count - 1 do
    Form1.memo6.Lines.Add(Form1.IdHTTP1.CookieManager.CookieCollection[i].CookieText);这样也只能得到GANJISESSID=4b2cfd0083f5863c27565bdb93d9e5b1; 这一条 其他的没有
      

  8.   

    登陆后保存cookies 完了访问其他页面的时候 如果提示你再次登陆  就重新创建http  把cookies添加进去就行了 
    537009488 我前几天搞过赶集婚恋的站内信发送 很爽的 一次性发200+信息  不过 账号需要认证的
      

  9.   

    我也遇到同样的问题,跟你的一模一样。只是网站不同。我的登录网站是:http://account.changyou.com/_login.jsp
    也是获取的COOKIE只有一个。其他怎么也获取不到。