我在delphi xe里用idhttp登录discuz x1.5论坛。
登录已经成功了。
但是当用idhttp再次访问其他网页时,仍然提示未登录,请问怎么回事?

解决方案 »

  1.   

    是不是没有保存客户端的session(cookies)?
    如果它是使用js来保存的,idhttp是无法执行js的
      

  2.   

    将Cookie的Domain改成各个网页都符合的,如csdn.net
      

  3.   

    我把webbrowser的cookie赋值给idhttp也不行,帮忙看看。
      HtmlDoc:=webbrowser1.Document as IHTMLDocument2;
      Cookie :=HtmlDoc.cookie;
      idhtp1.Request.CustomHeaders.Clear();
      idhtp1.Request.CustomHeaders.Add('Cookie:'+cookie );
      

  4.   

    补充说明:在delphi2007下是可以的,在xe下不行。
      

  5.   

    indy对Cookie的domain处理有缺陷,
    具体什么问题,楼主必须给出具体网页进行调试
      

  6.   

    再访问相关网页的时候.加载一下登陆成功后的COOKIE就行了
    idhttp1.request.customheaders.text:='cookie:' + (获得的cookie);
      

  7.   

    后来从indy网站论坛了解到10.5.7和10.5.8版本都有问题,在处理cookie这一块,我用10.1就可以的。