问题可见:http://www.microsoft.com/china/MSDN/library/WebServices/WebServices/eamwebteam.mspx?mfr=true我就是想实现这种功能,可惜本人的C很差只要能在Delphi里实现这种修改Header的功能,可以另开贴献分

解决方案 »

  1.   

    忘了说明,是根据具体的Url添加相应不同的Header
      

  2.   

    以Get为例,idhttp伪造session
            IdHttp1.Get(mURL1);
            mStr := IdHttp1.Response.CustomHeaders.Values['Set-Cookie'];
            if Pos(';',mStr)>0 then
                    Session_ID := LeftBStr(mStr,Pos(';',mStr)-1)
            else
                    Session_ID := mStr;        IdHttp1.Request.CustomHeaders.Add('Cookie:' + Session_ID);
            IdHttp1.Get(mURL2);
      

  3.   

    这是我回给别人做网页自动登录后抓取后续html的示例代码,修改后可以满足你的要求。
    TIdHttp,是delphi自带的Indy clients下的组件
      

  4.   

    很可惜:(我是通过TWebbrowser连接的,我想对连接页面里的所有地址(比如那些图),都能修改其Header目前的做法是通过mInternetSession.RegisterNameSpace(mFactory, GUID_NULL, 'http', 0, nil, 0);来控制所有Http连接,但我不知道如何接管BeginningTransaction来达到修改Header的目的
      

  5.   

    twebbrowser有很多问题,建议你早点换了。
    不信你可以试试,用一个定时器,不断地用twebbrowser成功打开很多不同的网页,内存会很快被用光光的。
      

  6.   

    那做一个所谓的浏览器,用什么?EmbeddedWB也是基于它的呀
      

  7.   

    请问erhan(二憨) :
    你把URL1的Session用到URL2上有什么实际意义呢?
      

  8.   

    罢工中......
    http://community.csdn.net/Expert/topic/4899/4899587.xml?temp=.6865656
      

  9.   

    请问erhan(二憨) :
    你把URL1的Session用到URL2上有什么实际意义呢?
    ------很多网站都是通过session来区分不同用户的访问(比如:用户是否登录,用户是以什么身份进行登录等等),当网站用session来记录用户是否登录,而你的连接请求里没有带入合法的session数据时,网站将视为未登录用户,可能会重定向到登录页面,禁止浏览真实的内容。
    意义何在,应该清楚了吧。我的例子里,url1就是登录页面,url2就是后续的访问
      

  10.   

    。人呢:(此问题还是没能解决但昨天无意中解决了Delphi程序的一个重大“问题”任务栏的右键菜单!哈哈,跟C写的程序一样了,6个选项都在!
      

  11.   


    twebbrowser有很多问题,建议你早点换了。
    不信你可以试试,用一个定时器,不断地用twebbrowser成功打开很多不同的网页,内存会很快被用光光的。
    ------------------------
    IE有很多问题,建议你早点换了。
    不信你可以试试,用一个定时器,不断地用IE成功打开很多不同的网页,内存会很快被用光光的。
      

  12.   

    procedure TWebBrowser.Navigate(const URL: WideString; var Flags: OleVariant; 
                                   var TargetFrameName: OleVariant; var PostData: OleVariant; 
                                   var Headers: OleVariant);使用Navigate传入Headers不行吗?
      

  13.   

    不用twebbrowser,用什么?Embedded?它也是基于twebbrowser的呀Navigate不行,我要为页面里的图片下载请求加Header,而图片下载显然不会激活Navigate