用的webbrowser,输入一个网址A,最后跳转到D。
具体过程是:
输入一个网址A,A301重定向到B
B302重定向到C
C303重定向到D
停留在D现在的问题是怎么能获得这个过程的的B和C网址,也就是A和B响应的的header中的Location.
有没有不用WebClient,WebRequest和HttpWebResquest就能实现的方法。
或者有别的封装好的类库可以使用,sharpPcap有点不好弄。
因为还是要以webbrowser为主。求高手帮忙解决下这个问题,谢谢c#webbrowser301重定向Location

解决方案 »

  1.   

    private void announce_NewWindow(object sender, CancelEventArgs e)
            {  
                WebBrowser senderb = (WebBrowser)sender;//把sender给拿下,是一个WebBrowser对象
                openUrl(senderb.StatusText);//StatusText即是要打开的新链接地址     
            }
      

  2.   


    已经设置只能在原来的webbrower中打开新链接,要获取的不是需要打开的链接和最终导航完毕的链接,而是导航过程中的301,302之类的重定向的链接。
    有更好的办法吗?谢谢
      

  3.   


    比如第二个302的
    http://www.google.com.hk/url?sa=p&hl=zh-CN&pref=hkredirect&pval=yes&q=http://www.google.com.hk/&ust=1360246368224837&usg=AFQjCNFEfTS1lwbgzfkPTsmEoDMk0J0DHQ
      

  4.   

    简单的获取response header,里面有个Location属性,就是301跳转的网址你可以参考下我上传的资源,里面有vs2008写的完整例子,已调试可以运行。
    Webbrowser调用dll,简单方便获取request header,response header等各种网络资源的例子,实现了原来只有WebClient,WebRequest和HttpWebResquest才能实现的功能。http://download.csdn.net/detail/goodsoft/5058862
      

  5.   

    DOCHOSTUIFLAG_ENABLE_REDIRECT_NOTIFICATION
      

  6.   

    WebBrowser 应该可以重定向啊?
      

  7.   


    这个我也找到研究了,
    原文地址:http://www.codeproject.com/Articles/157329/Http-Monitor-for-Webbrowser-Control
    可以获取到response headers 中的location.
    如果只要获取301重定向的网址用entry.RedirectedEntry.Url可以了
      

  8.   


    jiangsheng版主的这个百度和谷歌了一下,有点高深 :)
      

  9.   

    结贴,今天大年初一,100分人人有份。
    4楼goodsoft答案最正宗,拿大头。
    祝大家新年快乐,万事如意!