如何在HTML中创建一个CGI,单击该CGI可以运行系统调用并下载数据
我希望有一个URL,只有在单击时才会执行CGI如何在HTML中创建一个CGI,单击该CGI可以运行系统调用并下载数据,html,perl,cgi,Html,Perl,Cgi,我希望有一个URL,只有在单击时才会执行CGI <a href=/myweb/cgi-bin/mycgi_long_running.cgi?name=param>Some Param</a> 我已经很久没有这样做了,但是试着摆弄一下这样的东西: print qq{Content-Disposition: attachment; filename="$outf"\r\n}; print qq{Content-Type: application/octet-stream;
<a href=/myweb/cgi-bin/mycgi_long_running.cgi?name=param>Some Param</a>
我已经很久没有这样做了,但是试着摆弄一下这样的东西:
print qq{Content-Disposition: attachment; filename="$outf"\r\n};
print qq{Content-Type: application/octet-stream; name="$outf"\r\n};
open(my $fh, "<", $outf);
my $buf;
while(read($fh, $buf, 100)) {
print $buf;
}
print qq{内容处置:附件;filename=“$outp”\r\n};
打印qq{Content Type:application/octet stream;name=“$outp”\r\n};
open(my$fh,“如果tar文件是在web服务器的文档根目录中创建的,则不需要通过Perl打开并流式传输它,这可以提高性能。只需在CGI处理完成后发送重定向即可
根据CGI过程所需的时间,浏览器可能会因超时而决定关闭连接。您可能希望主页成为一个进度页,使用JavaScript更新一个奇特的进度条,并使用最后一点JavaScript将用户转发到其实际文件下载。是$param_searchkey
和$searchkey
应该是相同的标量?您是否在任何地方声明了$file
?我建议您在脚本中添加使用strict;使用warnings;
。想想当我向您发送类似“邮件邪恶”的请求时会发生什么_hacker@example.orgprint qq{Content-Disposition: attachment; filename="$outf"\r\n};
print qq{Content-Type: application/octet-stream; name="$outf"\r\n};
open(my $fh, "<", $outf);
my $buf;
while(read($fh, $buf, 100)) {
print $buf;
}