none
请问如何获得网页referer RRS feed

  • 问题

  • 我知道在documentComplete的时候,使用document实例可以获得refer
    但是,我希望在beforeNavigate2的时候就活动refer,有什么接口可以获得么
    或者可以获得准备发送请求包头信息
    2010年1月5日 2:17

答案

  • NavigateComplete的时候,document已经实例化了,可以从document取得referrer
    不过BeforeNavigate里面httphead总是为空,也是有些不理解

    • 已标记为答案 bofrobber 2010年1月11日 6:37
    2010年1月7日 7:04
  • BeforeNavigate 是指WebBrowser 控件自己即将向Web服务器发起请求。这个消息是给程序员一个机会,在发起请求之前修改HTTP Header,比如写入Cookie 以供Web页面进行验证或者交互数据。 如果你自己没有什么需要传的,当然Header 就是空啦!!! 那个Header串是让你填数据的,不是让你读取的。
    • 已标记为答案 bofrobber 2010年1月11日 6:36
    2010年1月7日 7:16
    版主

全部回复

  • beforeNavigate2 实践发生时,WebBrowser控件还没有请求页面呢,请求没发出去,怎么能拿到页面返回的refer内容呢?
    2010年1月5日 3:13
    版主
  • 可是refer是发起请求源的url,这个准备发起请求应该在refer页面的newwindow2事件的时候就确定了,beforeNavigate事件发生的时候,应该已经确定了refer,
    页面返回的refer是指refer只能是在返回中获得么
    2010年1月5日 3:21
  • >这个准备发起请求应该在refer页面的newwindow2事件的时候就产生了
    NewWindow2触发的时候新窗口还没创建呢,哪来的Referrer?BeforeNavigate2的时候都没有。
    你要Referrer做什么?



    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful.
    Visual C++ MVP
    2010年1月5日 4:11
    版主
  • 我希望在navigateComplete的时候记录信息,我希望在这时候知道referrer
    navigateComplete应该是发出了请求,这时候可以获得referrer么
    2010年1月5日 4:31
  • NavigateComplete  只是代表一个frame 加载完成,对于具有多个frame 的Web页面,会多次收到NavigateComplete 通知。 有可能收到了NavigateComplete通知,也读不到refer。

    2010年1月5日 4:58
    版主
  • 对于frame也是有refer,发出frame请求的页面url,比如主页面,这些消息在发出的http头里面有,是网络层数据
    但是用bho又不知道怎么得到这个http消息
    2010年1月5日 5:49
  • 我查资料的时候,有人提过可以在beforeNavigate往消息头里面添加自己的数据,那是不是也可以读消息头的数据呢
    2010年1月5日 5:51
  • BHO没有相关的API。除非自己注册一个http协议的处理器。

    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful.
    Visual C++ MVP
    2010年1月5日 14:02
    版主
  • 我查资料的时候,有人提过可以在beforeNavigate往消息头里面添加自己的数据,那是不是也可以读消息头的数据呢
    不可以。BeforeNavigate 事件是指WebBrowser 控件在即将向Web页面发起请求时的事件,此时请求还没有发出去。这时候,只能给要发出去的请求添加HTTP Header 数据。比如写入Cookie,给POST 请求添加数据。 因为请求还没有发出,当然也就不知道Web页面会发什么东西回来了。
    2010年1月6日 2:11
    版主
  • NavigateComplete的时候,document已经实例化了,可以从document取得referrer
    不过BeforeNavigate里面httphead总是为空,也是有些不理解

    • 已标记为答案 bofrobber 2010年1月11日 6:37
    2010年1月7日 7:04
  • BeforeNavigate 是指WebBrowser 控件自己即将向Web服务器发起请求。这个消息是给程序员一个机会,在发起请求之前修改HTTP Header,比如写入Cookie 以供Web页面进行验证或者交互数据。 如果你自己没有什么需要传的,当然Header 就是空啦!!! 那个Header串是让你填数据的,不是让你读取的。
    • 已标记为答案 bofrobber 2010年1月11日 6:36
    2010年1月7日 7:16
    版主