-1
我在CGI腳本中驗證了以下驗證GET方法並返回405 HTTP狀態代碼(如果未使用GET方法)。不幸的是,當使用POST或者PUT時,它仍然返回200狀態OK。在CGI腳本中使用HTTP狀態代碼的Perl CGI
my ($buffer);
# Read in text
$ENV{'REQUEST_METHOD'} =~ tr/a-z/A-Z/;
if ($ENV{'REQUEST_METHOD'} eq "GET")
{
$buffer = $ENV{'QUERY_STRING'};
}
else
{
print $cgi->header(
-type=>'text/plain',
-status=> '405 Method Not Allowed'
);
}
,但是當我在客戶端和打印STATUS_CODE使用LWP它仍然給200 OK,當我打印的內容是打印狀態:405
代碼我使用在客戶端:
use LWP;
use HTTP:Request::Common;
my $ua = LWP::UserAgent->new;
my $req =PUT("/path/to/request");
my $result = $ua->request($req);
if($result->is_success) {
print "HTTP RESPONSE CODE:" , $result->status_line;
print $result->decoded_content;
}
從上面的代碼會打印成功
HTTP RESPONSE CODE: 200 OK
Status: 405 Method Not Allowed
"some text regarding why method not allowed"
Requested Method Not allowed
以下信息,我如何能匹配ST atus_line與來自CGI標題的值相關嗎?
你爲什麼混合GGI.pm(有利於替代的主營移除)手卷CGI環境解析(不,不,不,不),! – Quentin