perl登录人人并发布状态
tkorays ([email protected])
这个实现很简单,只要用fireBUG研究下浏览器的请求与响应。
上代码:
#!/usr/bin/perl# copyright 2014 tkorays. All rights reserved.# author tkorays# email [email protected] strict;use warnings;use LWP;use LWP::Simple;use LWP::UserAgent;use http::cookies;use http::headers;use http::Response;use Encode;use URI::Escape;use URI::URL;my $email = '***@**.com';my $password = '***';my $domain = 'renren.com';my $hostID='';my $requestToken='';my $rtk='';my $channel='renren';my $ua = LWP::UserAgent->new;$ua->agent("Mozilla/5.0 (windows NT 6.1; rv:30.0) Gecko/20100101 firefox/30.0");my $cookie_jar = http::cookies->new( file=>'lwp_cookies.txt',autosave=>1,ignore_discard=>1);$ua->cookie_jar($cookie_jar);my $login_url = 'http://www.renren.com/PLogin.do';my $res = $ua->post($login_url,{ 'email'=>$email,'password'=>$password,'domain'=>$domain});my $homepage; if($res->header('Location') eq 'http://www.renren.com/Home.do'){ print 'login ok...',"\n"; $homepage = $ua->get('http://www.renren.com/home'); }else{ exit;}if($homepage->is_success){ my $pagect = $homepage->content; $pagect =~ /ID\s:\s"(\d+)"/g; $hostID = ; $pagect =~ /requestToken\s:\s'(.+)'/g; $requestToken = ; $pagect =~ /_rtk\s:\s'(.+)'/; $rtk = ; }else{ exit; }my $purl = 'http://shell.renren.com/'.$hostID.'/status';my ($sec,$min,$hour,$day,$mon,$year,$wday,$yday,$isdst) = localtime(); $year +=1900;$mon++;my $postret = $ua->post($purl,{ 'content'=>"renren test,by perl script,author:tkorays,date:$year-$mon-$day $hour:$min:$sec.",'hostID'=>$hostID,'requestToken'=>$requestToken,'_rtk'=>$rtk,'channel'=>$channel});if($postret->is_success){ print 'send ok...',"\n";}else{ print 'fuck!';}总结
以上是内存溢出为你收集整理的perl登录人人并发布状态全部内容,希望文章能够帮你解决perl登录人人并发布状态所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)