WebBrowser与HttpWebRequest的问题

Methodor 2008-07-05 10:39:16
类似爬虫程序,在登入程序时使用WebBrowser进入,进入后希望通过HttpWebRequest方式来获得web反馈,但由于cookie等原因,后台反馈的数据按位登入处理了,如何解决?
...全文
344 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
jzywh 2008-07-10
  • 打赏
  • 举报
回复
HttpWebRequest 要加cookieCOntainer
  • 打赏
  • 举报
回复
d
Methodor 2008-07-09
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 zzultc 的回复:]
关键看你登陆时的cookies了。
一般可以这样:
1、先使用WebBrowser登陆网站,因为很多网站登陆有验证码,还很难识别,只有人工来搞。
然后使用平台调用,InternetGetCookies函数从系统里取道这个网站的cookies,有时候这个函数会取不全,大多情况ok。如果不全,只有使用一楼的办法,socket。
2、然后构造CookieContainer,把这些cookies添加到里边,每次HttpWebRequest的时候指定这个CookieContainer,那么HttpWebReques…
[/Quote]
我采用的就是这种方式,利用CookieContainer来处理,先get再set的方式,但具体代码方面始终有问题,希望能够提供具体代码,谢谢!
cpio 2008-07-06
  • 打赏
  • 举报
回复
那就只能用更底层的Socket了,可能HttpWebRequest会自动把Cookie传过去,要不然对于希望传Cookie的开发人员就太不方便了.
zzultc 2008-07-06
  • 打赏
  • 举报
回复
关键看你登陆时的cookies了。
一般可以这样:
1、先使用WebBrowser登陆网站,因为很多网站登陆有验证码,还很难识别,只有人工来搞。
然后使用平台调用,InternetGetCookies函数从系统里取道这个网站的cookies,有时候这个函数会取不全,大多情况ok。如果不全,只有使用一楼的办法,socket。
2、然后构造CookieContainer,把这些cookies添加到里边,每次HttpWebRequest的时候指定这个CookieContainer,那么HttpWebRequest会自动从里边取到Cookie;
如果每次收到HttpWebResponse的cookie有变,这个CookieContainer会自动变化,不用管它。
这个可以对付大多数的需要。
当然很多网站太变态,每次请求都要更换cookie,并且,不是在页面里更换的,有的是在脚本里,更有甚者,会在你请求该页某个图片时更换cookie。
这些只有靠仔细观察啦。

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧