免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 6311 | 回复: 23
打印 上一主题 下一主题

【悬赏】登录论坛的脚本 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-06-01 16:05 |只看该作者 |倒序浏览
本帖最后由 justqb 于 2012-06-01 16:06 编辑

我想用perl登录小木虫论坛获取一些只有登录才能查看的页面。

登录页面:
http://emuch.net/bbs/logging.php?action=login
用户名wotest 密码pswt

登录后获取这个页面
http://emuch.net/bbs/memcp.php?action=getcredit
和这个页面
http://emuch.net/bbs/space.php?uid=1843357

能帮我弄好的话,送书一本,50元以内的你挑,我在网上买了直接寄到你那里。

论坛徽章:
0
2 [报告]
发表于 2012-06-01 16:36 |只看该作者
楼下知道

论坛徽章:
1
CU十二周年纪念徽章
日期:2013-10-24 15:41:34
3 [报告]
发表于 2012-06-01 16:50 |只看该作者
LZ开的价不错啊。

论坛徽章:
0
4 [报告]
发表于 2012-06-01 18:03 |只看该作者
自己搞的,不知为什么似乎没提交上去表单。
  1. #!perl -w
  2. use strict;
  3. use 5.010;
  4. use Encode;
  5. use LWP::UserAgent;
  6. use HTTP::Cookies;
  7. use LWP::ConnCache;

  8. open TST, ">:encoding(gb2312)" , "tst.htm";
  9. my %form;
  10. $form{"usename"} = "wotest";
  11. $form{"password"} = "pswt";
  12. $form{"cookietime"} = "3153600";
  13. $form{"t"} = "";
  14. $form{"formhash"} ="";
  15. $form{"loginsubmit"} ="";
  16. $form{"referer"} ="";

  17. my $ua = LWP::UserAgent->new(keep_alive => 1);
  18.         $ua->agent('Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; MathPlayer 2.20; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.3)');
  19.         $ua->timeout(10);
  20.         HTTP::Cookies->new(file=>'cookies.dat',autosave=>1);
  21.         $ua->default_header( 'Accept-Language' => 'en-US',   'Accept-Charset' => 'utf-8');

  22. my ($html,);

  23. my $response = $ua->get('http://emuch.net/bbs/logging.php?action=login' );


  24. if ($response->is_success) {
  25. $html = $response->decoded_content;
  26. }

  27. $form{"t"} = $1  if $html =~ m{logging.php\?action=login&t=(\d+)}i;
  28. $form{"formhash"} = $1 if $html =~ m{name="formhash" value="([^"]+)"}i;
  29. $form{"loginsubmit"} = "会员登录";#"%BB%E1%D4%B1%B5%C7%C2%BC";

  30. say join "\n" ,map {join " ", $_, $form{$_}} keys %form;

  31. $response = $ua->post("http://emuch.net/bbs/logging.php?action=login&t=" . $form{"t"} , \%form);
  32. if ($response->is_success) {
  33. $html = $response->decoded_content;
  34. }
  35. say TST $html;
复制代码

论坛徽章:
5
亥猪
日期:2013-10-15 13:41:04CU十二周年纪念徽章
日期:2013-10-24 15:41:34申猴
日期:2013-10-28 10:55:45辰龙
日期:2013-10-31 13:29:29丑牛
日期:2014-02-14 11:25:54
5 [报告]
发表于 2012-06-01 18:06 |只看该作者
回家看看  应该简单好搞 东西诱人啊。。。。

论坛徽章:
1
摩羯座
日期:2014-12-29 15:59:36
6 [报告]
发表于 2012-06-01 21:41 |只看该作者
  1. use strict;
  2. use LWP::UserAgent;
  3. my $ua = LWP::UserAgent->new;
  4. my $response = $ua->get("http://emuch.net/bbs/logging.php?action=login&username=wotest&password=pswt&cookietime=31536000&loginsubmit=%BB%E1%D4%B1%B5%C7%C2%BC");
  5. #下面这句很重要!!,保存Cookie!!
  6. $ua->default_header('Cookie' => $response->header("Set-Cookie")=~/(.+?);/);
  7. print $ua->get("http://emuch.net/bbs/memcp.php?action=getcredit")->decoded_content;
  8. print $ua->get("http://emuch.net/bbs/space.php?uid=1843357")->decoded_content;
复制代码
楼主,给我买本<<正则指引>>寄到我们公司.谢谢!!

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
7 [报告]
发表于 2012-06-02 13:17 |只看该作者
回复 4# justqb

抓包看一眼,也就花3,5分钟就知道是差在哪了
   

论坛徽章:
0
8 [报告]
发表于 2012-06-02 17:04 |只看该作者
justqb 发表于 2012-06-01 18:03
自己搞的,不知为什么似乎没提交上去表单。

  1. $form{"usename"} = "wotest"; # 应该是username,少了个r

  2. HTTP::Cookies->new(file=>'cookies.dat',autosave=>1);  #设置下$ua的cookie,$ua->cookie_jar(HTTP::Cookies->new(file=>'cookies.dat',autosave=>1));

复制代码

论坛徽章:
0
9 [报告]
发表于 2012-06-02 21:43 |只看该作者
回复 6# ziyunfei

谢谢,麻烦私信告知地址和姓名,代码这么精炼,能够解释一下您的关键代码。

应该是这本书吧。
http://www.amazon.cn/dp/B007X6O6J0

论坛徽章:
0
10 [报告]
发表于 2012-06-02 21:53 |只看该作者
回复 8# xfoucs


额,太粗心了。 呵呵,谢谢你。

同样的代码,长度差那么多,哎,我真是菜啊。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP