关于IdHttp控件获取图片的问题!我可以放的分我可以全放了!放分信誉良好的!各位大哥帮忙啊。。。(300分)

  • 主题发起人 主题发起人 cocw
  • 开始时间 开始时间
C

cocw

Unregistered / Unconfirmed
GUEST, unregistred user!
问:在有的论坛中,用IdHttp控件获取图片
如http://t.fhzw.net/day_060709/2_LOl4KwTbSzLJ.gif
无法得到真正的图片 得到的是一段这样的代码

<html><body><script language=javascript>document.cookie = &quot;__fwsignature__=jdfw5729d0e3&quot;;window.location =

&quot;/day_060708/4_6sycpymm5hg6.gif&quot;;</script></body></html>

而使用IE浏览器却可以得到真正的图片。

--我作了多项测试 请注意一下几点。

1。在对IdHttp控件的设置方面,我设置过
Request.Refer:='http://t.fhzw.net/day_060709/'
AllowCookies:=true
HandleRedirects:=true
及CookieManager属性也设置上了TIdCookieManager控件

效果依然一样,无法得到真正的图片

2。注意==而当你用IE浏览器访问了该网站之后,(不用登陆,仅仅匿名登陆)
注意==则IdHttp不作其他任何改变 可以在10几分钟内则可以随便下载到该网站的真正的图片
注意==在这10几分钟内删除IE浏览器的Cookie及缓存文件之后,也可以下载到该网站的真正的图片。


--------如何用IdHttp控件下载该网站的图片?(我发现即使下载该网站的首页也不能得到真正的代码)
 
嗨。。。说错了。。。。丢人。。。。。
 
用TIdCookieManager管理Cookies后,要在下次请求前,把Cookies放到自定义HTTP头中。才可以。
 
doll_paul兄你好,这个TIdCookieManager管理的Cookies如何取的,要在下次请求前,把Cookies放到自定义HTTP头中,这个CookIe又如何放?[:)]
 
idhttp1.Request.CustomHeaders.Text
idCookie.CookieCollection.Count

给你这二个属性,应该自己会搞定了吧。大体是这样。我没试~因为我用INDY9。没有Cookies管理器。。。嘿嘿。
 
这样操作Cookie一个东东都没有。这种方法我以前就操作过
for i:=0 to IdCookieManager1.CookieCollection.Count-1 do
begin
Memo1.Lines.Add(
'CookieText:='+IdCookieManager1.CookieCollection.Items.CookieText +' '+
'CookieName:='+ IdCookieManager1.CookieCollection.Items.CookieName +' '+
'ClientCookie:='+ IdCookieManager1.CookieCollection.Items.ClientCookie +' '+
'Comment:='+ IdCookieManager1.CookieCollection.Items.Comment +' '+
'Version:='+ IdCookieManager1.CookieCollection.Items.Version +' '+
'ServerCookie:='+ IdCookieManager1.CookieCollection.Items.ServerCookie +' '+
'Expires:='+ IdCookieManager1.CookieCollection.Items.Expires +' '+
'Domain:='+ IdCookieManager1.CookieCollection.Items.Domain +' '+
'MaxAge:='+ IntToStr(IdCookieManager1.CookieCollection.Items.MaxAge) +' '+
'Value:='+ IdCookieManager1.CookieCollection.Items.Value +' '

);
end;
这个循环对这个网站根本不起作用,而其他BBS就会起作用从而得到数据。
 
一句话,用IE浏览器访问该网站有Cookie的。而IdHttp控件确取不到Cookie数据?????
 
这是因为这个站点的cookie是用javascript设置的,所以你得不到.你可以手工给IdHttp加cookie值,再去访问这个地址,应该没问题了.
 
zqw0117兄,你就是太阳,在什么地方都能照亮一大片。我对你的敬仰如滔滔江水,黄河泛滥。马上结分!同时感谢doll_paul也辛苦了。。。
 
后退
顶部