Add sane user-agent header for Async*FileGetters
[videosite.git] / videosite / AsyncFileGetter.pm
index e9af7e4..984597d 100644 (file)
@@ -1,5 +1,5 @@
 # (c) 2007 by Ralf Ertzinger <ralf@camperquake.de>
-#     2008-2009,2011 by Christian Garbs <mitch@cgarbs.de>
+#     2008-2009,2011-2012 by Christian Garbs <mitch@cgarbs.de>
 #
 # licensed under GNU GPL v2
 #
@@ -36,6 +36,7 @@ sub get {
     my $dlfile;
     my $dirname;
     my $cookie = "";
+    my $useragent = "-H \"User-Agent: Mozilla/5.0\"";
 
     $dlfile = sprintf($self->_getval('FILEPATTERN'),
         $self->_encode($video->{'SOURCE'}),
@@ -44,6 +45,8 @@ sub get {
         $self->_encode($video->{'DLURL'}),
         $self->_encode($video)->{'URL'});
 
+    $dlfile =~ s/([\\"])/\\$1/g;
+
     $dirname = dirname($dlfile);
     if ($self->_diskfree($dirname) < $self->_getval('MINFREE')) {
         $self->error("Not enough free space to download");
@@ -67,7 +70,7 @@ sub get {
     }
     
     $cookie = "-H \"Cookie: $video->{'COOKIE'}\"" if (defined $video->{'COOKIE'});
-    my $cmdline = "( GET $cookie \"$video->{'DLURL'}\" > \"$tmpfile\" && mv \"$tmpfile\" \"$dlfile\" && chmod =rw \"$dlfile\" || rm -f \"$tmpfile\" ) &";
+    my $cmdline = "( GET $useragent $cookie \"$video->{'DLURL'}\" > \"$tmpfile\" && mv \"$tmpfile\" \"$dlfile\" && chmod =rw \"$dlfile\" || rm -f \"$tmpfile\" ) &";
     $self->debug(encode_base64($cmdline));
     system($cmdline);