有图片做验证码的,怎么搞定?多谢了! On 2/25/10, lemontv <[email protected]> wrote: > #!/usr/bin/perl > > use strict; > use warnings; > use LWP; > use LWP::ConnCache; > use HTTP::Cookies; > > my $url = 'http://www.renren.com/PLogin.do'; > my $url2 = 'http://upload.renren.com/ReplyPost.do?thread=330492221'; > my $url3 = 'http://group.renren.com/GetThread.do? > id=330492221&tribeId=283371586'; > my $browser = LWP::UserAgent->new(); > $browser->agent("Mozilla/5.0 (X11; U; Linux i686; zh-CN; rv:1.9.2) > Gecko/20100115 Firefox/3.6 GTB7.0"); > $browser->cookie_jar(HTTP::Cookies->new()); > $browser->conn_cache(LWP::ConnCache->new()); > push @{$browser->requests_redirectable}, 'POST'; > my $response = $browser->post($url,[ > 'email'=>'xxxx', > 'password'=>'xxxx', > 'origURL'=>'http://www.renren.com/Home.do', > 'domain'=>'renren.com'], > ); > my $resp = $browser->get($url3); > my $ak; > my $ac; > my $tsc_a; > my $groupAuTime; > my $at; > if($resp->content=~/name="ak" value="(\w+)"/){ > $ak = $1; > } > if($resp->content=~/id="ac" value="(\w+)"/){ > $ac = $1; > } > if($resp->content=~/id="tsc_a" value="(\w+)"/){ > $tsc_a = $1; > } > if($resp->content=~/name="groupAuTime" value="(\w+)"/){ > $groupAuTime = $1; > $at = $groupAuTime; > $at=~s/b/2/g; > } > #print "ak=$ak\nac=$ac\ntsc=$tsc_a\nGAT=$groupAuTime\n"; > #print $resp->content; > $resp = $browser->post($url2,[ > 'body'=>'52000', > 'citeid'=>'0', > 'citename'=>'', > 'submit'=>'', > 'theFile'=>['bk.jpg'], > 'ak'=>"$ak", > 'tsc'=>"$tsc_a", > 'ac'=>"$ac", > 'groupAuTime'=>"$groupAuTime", > 'at'=>"$at", > 'tribeId'=>'283371586', > 'curpage'=>'0', > ], > 'Content_Type'=>'form-data' > ); > #print $resp->content; > print $resp->status_line; > > 人人品牌专区的自动回帖代码 > 'email'=>'xxxx', > 'password'=>'xxxx', > 帐号密码我就不提供了。 > 下面的是测试的目标贴 > http://group.renren.com/GetThrea ... p;tribeId=283371586 > > 经过一些抓包分析,发现可能是theFile有问题,浏览器发送的包theFile的值是空的,但我搞不定这个,有人帮忙看看么? > 分析了一下,觉得有可能是回帖时候有些javascript没处理,javascript不懂,有没有人帮忙看看? > > -- > 您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。 > 要向此网上论坛发帖,请发送电子邮件至 [email protected]。 > 要取消订阅此网上论坛,请发送电子邮件至 [email protected]。 > 若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。 > >
-- 您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。 要向此网上论坛发帖,请发送电子邮件至 [email protected]。 要取消订阅此网上论坛,请发送电子邮件至 [email protected]。 若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
