aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNigel Taylor <njtaylor0101@gmail.com>2013-03-07 16:14:08 -0800
committerNigel Taylor <njtaylor0101@gmail.com>2013-03-07 16:14:08 -0800
commitcadec9e4685dfce675f3689267462bfa8c4562b4 (patch)
tree6746de85673429445b6b8788a2336c6eda7718e6
parentcf6aa9385ae033a3ffc2abb5eed55e87e7395615 (diff)
parent825418c01af4249ca56ec20d1be7d82fdeb1272e (diff)
downloadget-flash-videos-cadec9e4685dfce675f3689267462bfa8c4562b4.tar.gz
Merge pull request #100 from njtaylor/master
Add Short URL handling
-rwxr-xr-xget_flash_videos5
-rw-r--r--lib/FlashVideo/URLFinder.pm10
2 files changed, 15 insertions, 0 deletions
diff --git a/get_flash_videos b/get_flash_videos
index af05d47..8aaa6fc 100755
--- a/get_flash_videos
+++ b/get_flash_videos
@@ -310,6 +310,11 @@ sub download {
info "Downloading $url";
$browser->get($url);
+ # Handle short url which redirect...
+ if ($browser->response->is_redirect and ($url ne $possible_url)) {
+ info "Downloading redirected $possible_url";
+ $browser->get($possible_url);
+ }
# (Redirect check is for Youtube which sometimes redirects to login page
# for "mature" videos.)
diff --git a/lib/FlashVideo/URLFinder.pm b/lib/FlashVideo/URLFinder.pm
index ecb2928..bd42f4f 100644
--- a/lib/FlashVideo/URLFinder.pm
+++ b/lib/FlashVideo/URLFinder.pm
@@ -37,6 +37,16 @@ sub find_package {
}
}
+ # Handle redirection such as short urls.
+ if (!defined $package) {
+ $browser->get($url);
+ if ($browser->response->is_redirect) {
+ my $possible_url = $browser->response->header('Location');
+ $package = _find_package_url($possible_url, $browser);
+ return _found($package, $possible_url) if (defined $package);
+ }
+ }
+
if(!defined $package) {
for(@extra_can_handle) {
s/FlashVideo::Site:://;