Perl HTTP/1.1 206部分内容

Perl HTTP/1.1 206部分内容,perl,http-headers,cgi,Perl,Http Headers,Cgi,如何将服务器的HTTP响应设置为: HTTP/1.1 206部分内容 在PHP中,我会编写标题(“HTTP/1.1 206部分内容”),但在Perl CGI中呢 我正在使用此代码,但客户端报告HTTP 500错误 if(定义为$ENV{HTTP_RANGE}){ 我的$startrange=500; 我的$endrange=900; $length=$endrange-$startrange; 打印qq{HTTP/1.1 206部分内容\n}; my$range=$startrange.'-'

如何将服务器的HTTP响应设置为:

HTTP/1.1 206部分内容
在PHP中,我会编写
标题(“HTTP/1.1 206部分内容”)
,但在Perl CGI中呢

我正在使用此代码,但客户端报告HTTP 500错误

if(定义为$ENV{HTTP_RANGE}){
我的$startrange=500;
我的$endrange=900;
$length=$endrange-$startrange;
打印qq{HTTP/1.1 206部分内容\n};
my$range=$startrange.'-'.$endrange./'.$filesize;
打印qq{Content Range:bytes$Range\n};
}
打印qq{接受范围:字节\n};
打印qq{Content Disposition:attachment;filename=“$filename”\n};
打印qq{Content length:$length\n\n};
我已经检查了错误日志,上面写着:

脚本“download.cgi”的标题格式不正确:错误的标题:HTTP/1.1 206部分内容 您不应该在CGI脚本中发送for。您的脚本应发送正确的:

1*标题字段NL[响应正文]

这应该起作用:

Status: 206 Partial Content\n
Content-Range: bytes 500-900/12000\n
Content-Type: ?\n
您的脚本还必须发送内容类型标题:

您不应该在CGI脚本中发送for。您的脚本应发送正确的:

1*标题字段NL[响应正文]

这应该起作用:

Status: 206 Partial Content\n
Content-Range: bytes 500-900/12000\n
Content-Type: ?\n
您的脚本还必须发送内容类型标题:


无法在服务器上获取HTTP 500错误。你提供的信息太少了。显示您的代码并描述network@Borodin我刚刚更新了问题,检查代码。。由于某种原因,我得到了HTTP 500错误,但如果我删除该行
print qq{HTTP/1.1 206 Partial Content\n}我得到200行,我需要得到206部分内容可恢复download@Borodin别担心,我刚刚选择了最好的答案:)@Borodin,你错了!CGI响应不同于HTTP响应!但是我对HTTP或CGI了解多少呢?我只为Catalyst、HTTP::Body、HTTP::Tiny编写了大多数引擎,并维护了FCGI;o) @chansen:是的,我的感官离开了我,我犯了一个错误。您提醒这是CGI而不是裸HTTP还原了它们。谢谢您无法在服务器上获取HTTP 500错误。你提供的信息太少了。显示您的代码并描述network@Borodin我刚刚更新了问题,检查代码。。由于某种原因,我得到了HTTP 500错误,但如果我删除该行
print qq{HTTP/1.1 206 Partial Content\n}我得到200行,我需要得到206部分内容可恢复download@Borodin别担心,我刚刚选择了最好的答案:)@Borodin,你错了!CGI响应不同于HTTP响应!但是我对HTTP或CGI了解多少呢?我只为Catalyst、HTTP::Body、HTTP::Tiny编写了大多数引擎,并维护了FCGI;o) @chansen:是的,我的感官离开了我,我犯了一个错误。您提醒这是CGI而不是裸HTTP还原了它们。谢谢你,这就是我想要的。谢谢^^@Borodin,响应不同于HTTP响应!第一个和第二个超链接是指HTTP标准,第三个和第四个超链接是指CGI标准。这就是我要找的。谢谢^^@Borodin,响应不同于HTTP响应!第一个和第二个超链接是指HTTP标准,第三个和第四个超链接是指CGI标准。