用Perl实现网站自动登录
2011-11-07 22:38
274 查看
#!/usr/bin/perl -w
use strict;
use LWP;
use HTTP::Request::Common qw(POST GET);
use HTTP::Cookies;
use LWP::UserAgent;
use LWP::Simple;
use URI::URL;
my $ua = LWP::UserAgent-> new;
$ua-> agent( "Mozilla 1.503 Windows XP ");
$ua->cookie_jar(HTTP::Cookies->new(file => "bankcookies.txt", autosave => 1));
my $url = "http://www.ebigear.com/login.html";
my $req = POST $url,[MemberName=>"thinkhy",Pwd=>"******"];
my $response = $ua-> request($req);
die "Can't get $url -- ", $response->status_line
unless $response->is_success;
die "Hey, I was expecting HTML, not ", $response->content_type
unless $response->content_type eq 'text/html';
my $loginReq = $response-> content;
if ($loginReq =~ m/成功/sg) {
print "登录成功\n";
}
else {
print "登录失败\n";
}
#print $response->head;
# Header
my @ns_headers = (
);
$response = $ua->get('http://www.ebigear.com/resdown-1393-7777700044624.html', @ns_headers);
my $content = $response->content;
if ($content =~ m/因您未登录/sg) {
print "哎,不能获取到mp3地址\n";
}
else {
print "成功获取到mp3地址\n";
}
if ($content =~ m/(<div class="downloadurl">).*?"(ftp:\/\/.*?)"/sg) {
print "get it: $2\n";
$url = $2;
my($user,$password,$site,$path,$file) = ($url =~ /^ftp:\/\/(.*?):(.*?)@(.*?)(\/.*)\/(.*)$/s);
print "user:$user\npwd:$password\nsite:$site\npath:$path\nfile:$file\n";
if ($ua->is_protocol_supported('ftp'))
{
print "支持\n";
$response = $ua->get($url, @ns_headers);
print "$url";
getstore $url,"1.mp3";
}
# my $ftp;
#$ftp = Net::FTP->new("$site", Debug => 0)
# or die "Cannot connect to $site: $@";
# $ftp->login("$user","$password")
# or die "Cannot login ", $ftp->message;
# $ftp->cwd("$path")
# or die "Cannot change working directory ", $ftp->message;
# $ftp->get($file)
#$ftp->get("ftp://18_zhi:www.daerduo.cn\@playjd.teacherhome.cn:181/c77e/SID-H777/SID77777/RID-TT5/RID-H47/7777700044624tqyp.MP3")
# or die "get file failed ", $ftp->message;
# $ftp->quit;
}
use strict;
use LWP;
use HTTP::Request::Common qw(POST GET);
use HTTP::Cookies;
use LWP::UserAgent;
use LWP::Simple;
use URI::URL;
my $ua = LWP::UserAgent-> new;
$ua-> agent( "Mozilla 1.503 Windows XP ");
$ua->cookie_jar(HTTP::Cookies->new(file => "bankcookies.txt", autosave => 1));
my $url = "http://www.ebigear.com/login.html";
my $req = POST $url,[MemberName=>"thinkhy",Pwd=>"******"];
my $response = $ua-> request($req);
die "Can't get $url -- ", $response->status_line
unless $response->is_success;
die "Hey, I was expecting HTML, not ", $response->content_type
unless $response->content_type eq 'text/html';
my $loginReq = $response-> content;
if ($loginReq =~ m/成功/sg) {
print "登录成功\n";
}
else {
print "登录失败\n";
}
#print $response->head;
# Header
my @ns_headers = (
);
$response = $ua->get('http://www.ebigear.com/resdown-1393-7777700044624.html', @ns_headers);
my $content = $response->content;
if ($content =~ m/因您未登录/sg) {
print "哎,不能获取到mp3地址\n";
}
else {
print "成功获取到mp3地址\n";
}
if ($content =~ m/(<div class="downloadurl">).*?"(ftp:\/\/.*?)"/sg) {
print "get it: $2\n";
$url = $2;
my($user,$password,$site,$path,$file) = ($url =~ /^ftp:\/\/(.*?):(.*?)@(.*?)(\/.*)\/(.*)$/s);
print "user:$user\npwd:$password\nsite:$site\npath:$path\nfile:$file\n";
if ($ua->is_protocol_supported('ftp'))
{
print "支持\n";
$response = $ua->get($url, @ns_headers);
print "$url";
getstore $url,"1.mp3";
}
# my $ftp;
#$ftp = Net::FTP->new("$site", Debug => 0)
# or die "Cannot connect to $site: $@";
# $ftp->login("$user","$password")
# or die "Cannot login ", $ftp->message;
# $ftp->cwd("$path")
# or die "Cannot change working directory ", $ftp->message;
# $ftp->get($file)
#$ftp->get("ftp://18_zhi:www.daerduo.cn\@playjd.teacherhome.cn:181/c77e/SID-H777/SID77777/RID-TT5/RID-H47/7777700044624tqyp.MP3")
# or die "get file failed ", $ftp->message;
# $ftp->quit;
}
相关文章推荐
- c# 实现网页上用户自动登陆|asp.net 模拟网站登录
- 有关采用Filter:实现网站自动登录功能模块
- python 实现模拟登录网站并实现自动回复帖子
- Python的学习(二十三)---python实现网站自动登录
- java通过Cookie实现网站自动登录
- JSP 通过Session和Cookie实现网站自动登录
- selenium2.0&WebDriver环境搭配实现网站自动登录
- 网站的下次自动登录功能的实现方法
- 有关filter实现网站自动登录
- JAVA通过Session和Cookie实现网站自动登录的技术
- 网站1周内自动登录功能实现
- Perl实现ssh自动登录
- c# 实现网页上用户自动登陆|asp.net 模拟网站登录
- 有关采用Filter:实现网站自动登录功能模块
- android 怎样实现从文本框获得用户名和密码,自动登录网站?
- 利用webBrowser来实现自动登录网站
- python实现网站的自动登录
- Java网站中的自动登录功能如何实现 Session Cookie
- c# winform实现网页上用户自动登陆,模拟网站登录
- perl的expect模块实现自动输入密码登录