2014-02-12 52 views
0

下載文件,我是新來的Perl腳本,並且我試圖寫一個程序,從Apache服務器下載一個tar文件,下面的代碼:403錯誤,而使用perl腳本

use warnings; 
use strict; 
use LWP::Simple; 

my $url = "http://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.2.2.tar.xz"; 
my $file ="gst-plugins-good-1.2.2.tar.xz"; 
my $rc = getst 

ore($url, $file) ; 
print($rc); 

但我得到一個403 error。我不知道爲什麼。我嘗試了很多事情,比如向用戶代理髮送請求。但它不起作用。任何形式的幫助將不勝感激。

+0

我的錯。 Env代理拒絕連接。我沒有設置env的http_proxy。現在錯誤500.任何想法? – user3297376

回答

0

有 「getst」 與 「礦」 之間多餘的空格...:

use warnings; 
use strict; 
use LWP::Simple; 

my $url = "http://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.2.2.tar.xz"; 
my $file ="gst-plugins-good-1.2.2.tar.xz"; 
my $rc = getstore($url, $file); 
print($rc); 

執行這此代碼返回200(OK)代碼...

+0

my $ url =「http://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.2.2.tar.xz」; 是包含該文件的網址。那麼,附加$文件的要點是什麼? – user3297376

+0

是的,抱歉,我認爲$ url只包含目錄部分,我的錯誤...錯誤500可能是一個php語法錯誤...你是否刪除了「getst」和「ore」之間的額外換行符,我認爲.. 。:-) – MarcoS

+0

得到了答案。環境代理被設置爲某個不同的代理,該代理拒絕與403錯誤的連接。改變了這一點,現在它的工作正常。非常感謝你的幫助。 – user3297376