类似爬虫程序,在登入程序时使用WebBrowser进入,进入后希望通过HttpWebRequest方式来获得web反馈,但由于cookie等原因,后台反馈的数据按位登入处理了,如何解决?

解决方案 »

  1.   

    那就只能用更底层的Socket了,可能HttpWebRequest会自动把Cookie传过去,要不然对于希望传Cookie的开发人员就太不方便了.
      

  2.   

    关键看你登陆时的cookies了。
    一般可以这样:
    1、先使用WebBrowser登陆网站,因为很多网站登陆有验证码,还很难识别,只有人工来搞。
    然后使用平台调用,InternetGetCookies函数从系统里取道这个网站的cookies,有时候这个函数会取不全,大多情况ok。如果不全,只有使用一楼的办法,socket。
    2、然后构造CookieContainer,把这些cookies添加到里边,每次HttpWebRequest的时候指定这个CookieContainer,那么HttpWebRequest会自动从里边取到Cookie;
    如果每次收到HttpWebResponse的cookie有变,这个CookieContainer会自动变化,不用管它。
    这个可以对付大多数的需要。
    当然很多网站太变态,每次请求都要更换cookie,并且,不是在页面里更换的,有的是在脚本里,更有甚者,会在你请求该页某个图片时更换cookie。
    这些只有靠仔细观察啦。
      

  3.   

    我采用的就是这种方式,利用CookieContainer来处理,先get再set的方式,但具体代码方面始终有问题,希望能够提供具体代码,谢谢!
      

  4.   

    HttpWebRequest 要加cookieCOntainer