从脚本中获取错误“格式错误的标题”移动了一些旧的遗留perl代码

时间:2013-12-31 14:08:43

标签: perl cgi

我正在将一些非常古老的遗留perl cgi代码移动到新服务器上。

除了一个脚本和一行之外,所有旧的perl东西似乎都在工作。

我不确定我是否忘记加载某些东西(通常它告诉我我错过了什么)

导致错误的代码行:

print $query->redirect(-location=>"/servlet/guestbookServlet?method=displayGuestBook&dir=kam");

错误日志中的错误是

 malformed header from script. Bad header=HTTP/1.0 "/servlet/guestbookSe: guestbook.pl

如果我从脚本中输入格式错误的标题。错误的标头= HTTP / 1.0“/ servlet / guestbookSe:guestbook.pl durectly在浏览器中它很好

如果我把

print header
print $query->redirect(-location=>"/servlet/guestbookServlet?method=displayGuestBook&dir=kam");

浏览器刚刚打印出来(我不确定它看起来是否正确?)

HTTP/1.0 "/servlet/guestbookServlet?method Status: "/servlet/guestbookServlet?method
Window-target: kam" Set-cookie: displayGuestBook&dir Expires: -Status Date: Tuesday, 
31-Dec-2013 14:04:37 GMT -Location http://www1.mydomain.com/cgi-local/guestbook.pl?
action: -URI http://www1.mydomain.com/cgi-local/guestbook.pl?action: -nph 0 Content-
type: LOCATION

1 个答案:

答案 0 :(得分:4)

尝试

print $query->redirect("/servlet/guestbookServlet?method=displayGuestBook&dir=kam");

没有-location。另请查看docs下的GENERATING A REDIRECTION HEADER