indy中的http如何用cookie登录?(100分)

  • 主题发起人 主题发起人 happylcq
  • 开始时间 开始时间
H

happylcq

Unregistered / Unconfirmed
GUEST, unregistred user!
我想下载一个网页,可是这个网页要用cookie登录,请问我如何作?我用的是indy中的idhttp.
 
有没有高手呀?急急.............
 
我早就找到答案了,怎么结束这个帖子????
 
[:)],给我分就结束了!
 
你都那么多专家分还要分?真贪呀....[:D]
 
楼主,知道了就共享一下嘛!
我用inty http做过下载文件的程序,也遇到了cookie的问题,我最后找到了ie的cookie,
把其中的内容赋给cookie,结果可行,但是从IdLogDebug中收集的信息来看,登录所需的
次数越来越多,我不是很明白为什么。

楼主知道就说一下吧,需要分的话我另开贴子。
 
happylcq,知道了贴出你的方法又何妨?分数我可以替你收回的
 
其实很简单,只要按cookiet的格式写到indy.request.cutomheaders就可以了,也可以用API来写,然后allowcookies:=true,就可以了,新的indy9中还有个cookiemanager的控件不过我没用过.
 
分就不会回收了,分给大家好了.
 
我有空总结一下关于cookie的东西,可惜我这个人很懒.哈哈.
 
那你的方法是不是和我差不多?我采用下面的:
IdHTTP1.Request.ExtraHeaders.Add('Cookie: SessionID=l5140VPm');
不过,我发现不是很对啊。

你用IdLogDebug看看信息正确吗?
 
我是这样写的,’Set-Cookie:Name=Value;expires=Sun,22Feb2099 08:08:08 GMT’我是把这种格式的字符串写到header中去的.
 
我用的是indy9,你用的是8吗?
 
是的,我用的是d6自带的indy8,我做一个自动下载的程序。
你的cookie信息是从ie的cookie文件里面找出来的吗?
 
不是呀,是我自己写的呀.cookie的格式网上能查到的呀.只要按那个格式写就可以了.
 
cookie的格式可以上网上查到?是通用的吗?好像是根据不同的网站定义不同而不同吧?
 
通用的,是netscape公司定义的.
 
多人接受答案了。
 
后退
顶部