📄 mirror.al
字号:
# NOTE: Derived from ./blib/lib/LWP/UserAgent.pm. Changes made here will be lost.package LWP::UserAgent;sub mirror{ my($self, $url, $file) = @_; LWP::Debug::trace('()'); my $request = new HTTP::Request('GET', $url); if (-e $file) { my($mtime) = (stat($file))[9]; if($mtime) { $request->header('If-Modified-Since' => HTTP::Date::time2str($mtime)); } } my $tmpfile = "$file-$$"; my $response = $self->request($request, $tmpfile); if ($response->is_success) { my $file_length = (stat($tmpfile))[7]; my($content_length) = $response->header('Content-length'); if (defined $content_length and $file_length < $content_length) { unlink($tmpfile); die "Transfer truncated: " . "only $file_length out of $content_length bytes received\n"; } elsif (defined $content_length and $file_length > $content_length) { unlink($tmpfile); die "Content-length mismatch: " . "expected $content_length bytes, got $file_length\n"; } else { # OK if (-e $file) { # Some dosish systems fail to rename if the target exists chmod 0777, $file; unlink $file; } rename($tmpfile, $file) or die "Cannot rename '$tmpfile' to '$file': $!\n"; if (my $lm = $response->last_modified) { # make sure the file has the same last modification time utime $lm, $lm, $file; } } } else { unlink($tmpfile); } return $response;}1;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -