Perl将CGI文件重定向到A"文件://"地址

时间:2015-04-16 20:50:16

标签: perl redirect location cgi

我是新手Perl程序员,所以请放轻松我。有没有办法远程重定向页面从调用perl .cgi文件到另一个页面文件?用户将单击指向.cgi文件的链接。然后.cgi文件会将用户重定向到" file://"地点。目的是在记录点击次数后在另一台服务器中下载文件。

以下代码适用于" http://"地址,但如何让它与#34; file://"地址?

#!C:\Strawberry\perl\bin

use strict;
use CGI;
use CGI::Carp qw(fatalsToBrowser);
my $page = new CGI;
# print header and start the markup output

print "HTTP/1.0 200 OK\n";
print $page->header( "text/html" );
print $page->start_html( "CGI Environment" );

print "Hello world! ";
print "Press the Enter key to exit.\n";

my $url="file://location_of_file";
my $t=1; # time until redirect activates
print "<META HTTP-EQUIV=refresh CONTENT=\"$t;URL=$url\">\n";


print $page->end_html;

# end code

这是一个好方法吗?有更好的方法吗?请帮忙。先谢谢你了!

2 个答案:

答案 0 :(得分:2)

出于安全原因,不允许这样做。所有浏览器(我知道)都会拒绝从http:// URL到file:// URL的元重定向。同样的限制适用于30x服务器重定向。有关详细信息,请参阅Redirect Restrictions section of the Browser Security Handbook

答案 1 :(得分:0)

可能最有用的方法是使用&#39; .url&#39;文件(静态或动态生成),在JFish222's post

中很好地解释

否则,我担心你会被提升权限(强烈依赖浏览器),或者使用浏览器扩展等等。