比如一个url:
http://community.csdn.net/Expert/TopicView1.asp?id=3563002
它重定向后的url是:
http://community.csdn.net/Expert/topic/3563/3563002.xml?temp=.4097559
我怎么根据前者得到后者?
我目前的解决方法是用idhttp的get(),然后在OnRedirect中取得重定向后的url,但是这样的话,idhttp的get会把url对应的内容都下到本地来,而且特耗资源。
各位大虾,有没有什么好方法?最好少用控件。谢谢了!^_^

解决方案 »

  1.   

    帮你UP好了。
    我想知道你这种定向可以从什么角度来监测了?如果你能够得到HTML的原本不是一样的吗?
      

  2.   

    很简单,你取它的HTTP头,里面有一条Location: /Expert/topic/3563/3563002.xml?temp=.4097559
      

  3.   

    谢谢ehom
    如何才能取得http头呢?呵呵。
      

  4.   

    用控件肯定没那么灵活,把Get换成Head差不多就能满足你的基本需求吧,当然我是建议你去看下WinSock和HTTP的资料~~~
      

  5.   

    tidhttp.head是一个procedure阿,只带一个参数,他返回的东西放在哪里了?
    声明:procedure TIdCustomHTTP.Head(AURL: string)
      

  6.   

    OnRedirect中取啊,就跟你自己的方法基本一样~~~区别就是服务器只返回HTTP头当然自己在WinSock基础上封装HTTP可以灵活的多,收到Location后,马上可以终止数据接收,不过好像意义不大...