如何解决使用LWP :: Simple在Perl中获取ftp站点内容
|| 我在这里使用LWP :: Simple在Perl中获取ftp站点内容时遇到一些问题。如果站点使用http,而不使用ftp,例如ftp://ftp.di.uminho.pt/pub/ctan/fonts/,它将可以正常工作。但是在我的firefox浏览器中,我可以将内容查看为html。 那么在这种情况下如何获取网站的html?解决方法
LWP返回FTP目录的“ 0”类型的文档。使用File :: Listing对其进行解析。
$ GET -USe ftp://ftp.di.uminho.pt/pub/ctan/fonts/
GET ftp://ftp.di.uminho.pt/pub/ctan/fonts/
User-Agent: lwp-request/6.00 libwww-perl/6.02
200 OK
Server: --------- Welcome to Pure-FTPd [privsep] ----------
Content-Length: 32208
Content-Type: text/ftp-dir-listing
Client-Date: Mon,06 Jun 2011 21:32:45 GMT
Client-Request-Num: 1
drwxr-xr-x 257 500 50 20480 May 30 06:27 .
drwxrwsr-x 18 500 50 4096 Jun 6 20:02 ..
drwxr-xr-x 2 500 500 4096 Apr 7 19:13 Asana-Math
-rw-r--r-- 1 500 500 573482 Apr 7 19:14 Asana-Math.zip
drwxr-xr-x 2 500 50 4096 May 20 2005 CJK
-r--r--r-- 1 500 500 20384230 May 20 2005 CJK.zip
drwxr-xr-x 2 500 50 4096 May 20 2005 DayRoman
-r--r--r-- 1 500 500 573352 May 20 2005 DayRoman.zip
drwxr-xr-x 2 500 50 4096 Sep 7 2007 LuxiMono
-r--r--r-- 1 500 500 199660 May 6 2005 LuxiMono.zip
lrwxrwxrwx 1 500 50 8 Oct 14 2005 MnSymbol -> mnsymbol
lrwxrwxrwx 1 500 50 12 Oct 14 2005 Mnsymbol.zip -> mnsymbol.zip
[\'Asana-Math\',\'d\',undef,1302196380,16877],[\'Asana-Math.zip\',\'f\',573482,1302196440,33188],[\'CJK\',1116540000,[\'CJK.zip\',20384230,33060],[\'DayRoman\',[\'DayRoman.zip\',573352,[\'LuxiMono\',1189116000,[\'LuxiMono.zip\',199660,1115330400,[\'MnSymbol\',\'l mnsymbol\',8,1129240800,41471],[\'Mnsymbol.zip\',\'l mnsymbol.zip\',12,
, 当您查看FTP目录时,Firefox将在内部生成HTML文档。 FTP服务器不会提供一个。
如果需要,则必须遍历文件和目录并生成自己的文件和目录。
, 您可能想改用Net::FTP
:
use Net::FTP;
$ftp = Net::FTP->new(\"some.host.name\",Debug => 0)
or die \"Cannot connect to some.host.name: $@\";
$ftp->cwd(\"/pub\")
or die \"Cannot change working directory \",$ftp->message;
$ftp->get(\"that.file\")
or die \"get failed \",$ftp->message;
$ftp->quit;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。