http://www.sufeinet.com/plugin.php?id=keke_group

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

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

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

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

查看: 6986|回复: 10

[学生提问] 求助!多帐号循环登录后台,每次都获得通行Cookie,但有时http.GetHtml 无法返回Html

[复制链接]
发表于 2015-3-21 17:15:29 | 显示全部楼层 |阅读模式
1金钱
RT,本人做一个软件,需要多帐号循环登录发帖,第一个帐号登录发帖一切正常,但第二个帐号登录后台的发帖页面,就出现获取不到发帖页面的 Html,在这个 Html 中,需要截取 一些参数作为 Post 帖子的参数。由于无法获取 Html,所以导致第二个帐号开始,就无法发帖,只有第一个帐号能够发帖!
                               //  设置 Requset 快速发贴页面头信息
                                HttpItem postContentItem = new HttpItem()
                                {
                                    URL = "后台发贴页面URL", //后台发贴页面URL  
                                    Referer = "从哪来的", // 此 URL 由于我在登录时获得通行Cookie,所以此 Referer 并没有访问过。
                                    Method = "get", // Request 页面方式
                                    Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
                                    UserAgent = BrowserEnvironment, // 浏览器环境
                                    Cookie = everyCookie, // 通行 Cookie
                                    ContentType = "text/html; charset=utf-8",
                                };
                                //  获取 Response 头信息
                                HttpResult postContentResult = http.GetHtml(postContentItem);
                                //  获取快速发文页面的 Html
                                string postContentHtml = postContentResult.Html;


就是这个 postContentHtml 为空,导致无法截取 Post 帖子的参数。

求助大家,这个是什么问题呀?为什么第一个帐号能够正常获得 URL 的 Html,但是后面循环的帐号无法获取 URL 的 Html 呀?



1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
 楼主| 发表于 2015-3-21 17:16:53 | 显示全部楼层
那个 论坛后台的 URL,我们内地打不开。需要用到国外的 vps 才能打开,所以就不上了。
回复

使用道具 举报

 楼主| 发表于 2015-3-21 18:31:31 | 显示全部楼层
飞哥,还没来吗?
回复

使用道具 举报

发表于 2015-3-21 19:25:44 | 显示全部楼层
这个会不会是第二次请求时的参数有问题,都重新new一下试试,不要公用一个对象
回复

使用道具 举报

 楼主| 发表于 2015-3-21 19:36:18 | 显示全部楼层
本帖最后由 猪无戒 于 2015-3-21 19:44 编辑
站长苏飞 发表于 2015-3-21 19:25
这个会不会是第二次请求时的参数有问题,都重新new一下试试,不要公用一个对象

飞哥,是不是 New HttpHelper 呀?那我可不可以每个帐号登录发帖都 New HttpHelper 呀?

火狐FireBug

火狐FireBug

请求是 Get 请求不传递参数的。除了 登录、发帖  有参数传递之外,其他的都没有参数传递。

我之前做了两个版本的,但是都有问题,第一个版本,一个帐号 New 一次 HttpHelper 然后 登录-》发帖-》退出-》登录-》发帖-》退出...换帐号又 New Httphelper
第二个版本:一个帐号 New 一次 HttpHelper ,然后 登录-》发帖-》发帖-》发帖... 换帐号又 New Httphelper
回复

使用道具 举报

发表于 2015-3-21 19:56:26 | 显示全部楼层
这个不好判断,也许是一个其他地方影响了,你还是贴下完整的代码看看情况吧
回复

使用道具 举报

 楼主| 发表于 2015-3-21 20:09:36 | 显示全部楼层
站长苏飞 发表于 2015-3-21 19:56
这个不好判断,也许是一个其他地方影响了,你还是贴下完整的代码看看情况吧

飞哥,我再试试看。如果不行的话,再继续贴代码问哦。
回复

使用道具 举报

发表于 2015-3-21 20:35:21 | 显示全部楼层
好的,你再试试
回复

使用道具 举报

 楼主| 发表于 2015-3-23 09:33:07 | 显示全部楼层
飞哥,我用了多线程,计时器,来重复提交,可以有一定的成功率。@站长苏飞 我在论坛里面也看到了同学的帖子,内容和我的类似,也是 result.html 为 null 的。飞哥,我还遇到了一个问题,就是我开多线程来Post登录,在提交 Post 登录的时候,有线程会 Post 失败。返回错误提示是:【帐号或密码无效】,但是用计时器循环提交,多提交几次又成功耶。
回复

使用道具 举报

发表于 2015-3-23 09:53:27 | 显示全部楼层
猪无戒 发表于 2015-3-23 09:33
飞哥,我用了多线程,计时器,来重复提交,可以有一定的成功率。@站长苏飞 我在论坛里面也看到了同学的帖子 ...

有几次失败安说是正常的。html为Null之个我会修复一下。以后的版本中不会再出现。暂时你们先做下判断
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

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

GMT+8, 2024-5-16 05:37

© 2014-2021

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