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

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

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

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

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

查看: 9564|回复: 11

[综合] 为什么用httphelper登陆论坛总是提示密码没有提交上

[复制链接]
发表于 2013-3-21 10:47:35 | 显示全部楼层 |阅读模式
本帖最后由 SillyPGM 于 2013-3-21 12:17 编辑

[code=csharp]HttpHelper http = new HttpHelper();
            HttpItem item = new HttpItem()
            {
                URL = @"http://bbs.125.la/member.php?mod=logging&action=login&loginsubmit=yes&frommessage&loginhash=Lc6Qr&inajax=1",
                Method="post",
                Postdata = "formhash=e518b502&referer=http%3A%2F%2Fbbs.125.la%2Fhome.php%3Fmod%3Dspacecp%26ac%3Dprofile&username=%C7%E1%C6%AE%C6%AE%B5%C4%D4%C6&password=dc483e80a7a0bd9ef71d8cf973673924&questionid=0&answer=",
                ResultType=ResultType.String,
            };
            HttpResult result= http.GetHtml(item);
            string html = result.Html;
            Console.WriteLine(html);
            Console.ReadKey();
[/code]

本帖被以下淘专辑推荐:



1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
发表于 2013-3-21 11:21:36 | 显示全部楼层
我晕,你要登录我的论坛啊?不好意思我帮不了你,你见过,有人帮助你攻击自己网站的吗?
 楼主| 发表于 2013-3-21 11:42:14 | 显示全部楼层
站长苏飞 发表于 2013-3-21 11:21
我晕,你要登录我的论坛啊?不好意思我帮不了你,你见过,有人帮助你攻击自己网站的吗?

举例而已,不要多想,你随便试一个论坛都可以,我试了,都是失败。
发表于 2013-3-21 11:55:00 | 显示全部楼层
SillyPGM 发表于 2013-3-21 11:42
举例而已,不要多想,你随便试一个论坛都可以,我试了,都是失败。

失败肯定是人家论坛有防范方式,或者是你写的代码不对。你使用FirBug取一个就知道了。不要多想是不假,那你用我的网站我没办法帮你, 帮你测试成功了我不能Sb了
发表于 2013-3-21 12:38:58 | 显示全部楼层
  1. HttpHelper http = new HttpHelper();
  2.             HttpItem item = new HttpItem()
  3.             {
  4.                 URL = "http://bbs.125.la/member.php?mod=logging&action=login&loginsubmit=yes&infloat=yes&lssubmit=yes&inajax=1&handlekey=ls&password=dc483e80a7a0bd9ef71d8cf973673924&quickforward=yes&username=%C7%E1%C6%AE%C6%AE%B5%C4%D4%C6",
  5.                 Method="get",
  6.                 ResultType=ResultType.String
  7.             };
  8.             HttpResult result= http.GetHtml(item);
  9.             string html = result.Html;
  10.             Console.WriteLine(html);
  11.             Console.ReadKey();
复制代码
 楼主| 发表于 2013-3-21 12:48:06 | 显示全部楼层
站长苏飞 发表于 2013-3-21 12:38

咋变成get了,晕倒。
发表于 2013-3-21 12:49:26 | 显示全部楼层
SillyPGM 发表于 2013-3-21 12:48
咋变成get了,晕倒。

成功了吗,你试试,我测试正常,Get与Post只是发送的一种方式,这和程序本身没有关系吧。就你是顺风快递,和安利快递一样,你用那个效果都是一样的。
 楼主| 发表于 2013-3-21 12:51:25 | 显示全部楼层
站长苏飞 发表于 2013-3-21 12:49
成功了吗,你试试,我测试正常,Get与Post只是发送的一种方式,这和程序本身没有关系吧。就你是顺风快递, ...

我纳闷在于,抓包显示的post模式,url和postdata也是分开的。为什么要写一起。这是必须的吗?
发表于 2013-3-21 12:59:17 | 显示全部楼层
SillyPGM 发表于 2013-3-21 12:51
我纳闷在于,抓包显示的post模式,url和postdata也是分开的。为什么要写一起。这是必须的吗?

你想使用Post也行,只需要简单修改两个参数就行了, 看我下面的代码
  1. HttpHelper http = new HttpHelper();
  2.             HttpItem item = new HttpItem()
  3.             {
  4.                 URL = "http://bbs.125.la/member.php?mod=logging&action=login&loginsubmit=yes&infloat=yes&lssubmit=yes&inajax=1",
  5.                 Method = "post",
  6.                 Postdata = "username=%C7%E1%C6%AE%C6%AE%B5%C4%D4%C6&password=dc483e80a7a0bd9ef71d8cf973673924&quickforward=yes&handlekey=ls",
  7.                 ResultType = ResultType.String
  8.                 ,  PostDataType=PostDataType.String,
  9.                 Referer="http://bbs.125.la/member.php",
  10.                 ContentType = "application/x-www-form-urlencoded"
  11.             };
  12.             HttpResult result = http.GetHtml(item);
  13.             string html = result.Html;
复制代码
发表于 2013-3-21 13:01:01 | 显示全部楼层
因为Post数据时需要上传流格式为application/x-www-form-urlencoded,而你没有设置默认的是Text 或者是Html的,所以肯定上传不上去数据
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

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

GMT+8, 2024-12-19 08:04

© 2014-2021

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