苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 17384|回复: 13

[其他] 关于HttpWebRequest与webBrowser的cookies互交的问题

[复制链接]
发表于 2013-4-9 18:39:16 | 显示全部楼层 |阅读模式
本帖最后由 myde520 于 2013-4-9 21:47 编辑

大家好,我现在在写一个小软件,用到了POST方式登录,同时也用到了webBrowser控件,但是POST方式登录后,webBrowser里面还是提示没有登录成功,我直接用webBrowser1.Document.Cookie={HttpWebRequest的cookies}这样行不通,大侠们,这应该怎么解决啊,我在百度上面找过了,没有找到解决的办法,所以就来求助了。
我要的就是Post和webBrowser只要有一个已经登录了,它们就能都登录。


-----------------------我把代码分开出来了,大家帮看看-----------------------------------------------

postTest.rar (1.39 MB, 下载次数: 731)


1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
发表于 2013-4-9 19:05:42 | 显示全部楼层
只有这样才是最好的,行不通,应该从代码找问题,发下代码吧楼主
 楼主| 发表于 2013-4-9 19:24:29 | 显示全部楼层
我写的是站群管理软件,上传代码的话有些不好呀,只上传部分代码程序又运行出错,里面我用了蛮多类的,相互都有关联,把整个站群软件上传上来不就等于程序开源了呀,使不得呀!
苏飞,你应该明白我的意思,就是用Post的方式登录网站的后台,登录后用内置的webBrowser打开前面已经post登录过的网站时不需要重新登录就OK了,明白我的意思了没?
发表于 2013-4-9 20:28:46 | 显示全部楼层
知道,不过你说的太夸张了点,只要发部分就行了,或者你这个例子,你都说了代码里有好多类,你发部分别人也用不了,只发负值部分就行了,你是怎么给传的cookie发下就行了,没代码我也无能为力呀!
 楼主| 发表于 2013-4-9 21:48:45 | 显示全部楼层
我已经上传了相似的代码程序
发表于 2013-4-10 08:13:56 | 显示全部楼层
你的代码思路是对的,如果不成功,不是因为方式不行,而是因为你的Http请求没有成功,你要测试一下看看你的Get或者Post有没有成功,成功之后的Cookie才是可用的,你用我的网站肯定不行啊,你都没有登录成功怎么能直接给webBrowser使用呢?
我看过你的代码没有问题,只是登录没有成功,我用其它可以登录成功 的网站就可以。
发表于 2013-4-10 08:20:52 | 显示全部楼层
另外我建议你使用最新的Httphelper,你的版本有点老了
 楼主| 发表于 2013-4-10 08:30:11 | 显示全部楼层
不知道为什么登录飞飞你的这个论坛,总是登录失败,登录我的网站是提示登录成功了的,返回的cookies是PHPSESSID=58aeb2f8lotanrkbeq96r28kl3; path=/

因为后台我用的是session判断用户是否登录的
发表于 2013-4-10 08:35:48 | 显示全部楼层
myde520 发表于 2013-4-10 08:30
不知道为什么登录飞飞你的这个论坛,总是登录失败,登录我的网站是提示登录成功了的,返回的cookies是PHPSE ...

如果登录成功的话是可以这样写的,你多测试测试吧,你的思路是对的,有时候直接Post和得到的真实Cookie是不一样的,因为浏览器可以执行JS,JS可能对Cookie进行二次生成,你要进行处理才行,而不能直接把值拿来使用。
发表于 2013-4-10 09:13:40 | 显示全部楼层
作者线程解决了
  1. 思路是对的,得到了你的肯定,所以我就检查我的代码,我先把webBrowser的页面地址设置为"about:blank"空白页面,然后用webBrowser1_DocumentCompleted判断页面是不加载完毕,如果加载完毕就把cookie赋值给webBrowser1.Document.Cookie,最后才把webBrowser1跳转到网站后台目录下
  2. 问题解决
复制代码
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2024-12-26 16:34

© 2014-2021

快速回复 返回顶部 返回列表