diff options
author | Nigel Taylor <njtaylor0101@gmail.com> | 2013-03-07 16:14:08 -0800 |
---|---|---|
committer | Nigel Taylor <njtaylor0101@gmail.com> | 2013-03-07 16:14:08 -0800 |
commit | cadec9e4685dfce675f3689267462bfa8c4562b4 (patch) | |
tree | 6746de85673429445b6b8788a2336c6eda7718e6 | |
parent | cf6aa9385ae033a3ffc2abb5eed55e87e7395615 (diff) | |
parent | 825418c01af4249ca56ec20d1be7d82fdeb1272e (diff) | |
download | get-flash-videos-cadec9e4685dfce675f3689267462bfa8c4562b4.tar.gz |
Merge pull request #100 from njtaylor/master
Add Short URL handling
-rwxr-xr-x | get_flash_videos | 5 | ||||
-rw-r--r-- | lib/FlashVideo/URLFinder.pm | 10 |
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:://; |