【问题标题】:How do I issue an HTTP redirect with Perl's CGI.pm?如何使用 Perl 的 CGI.pm 发出 HTTP 重定向?
【发布时间】:2011-01-27 11:06:46
【问题描述】:

我想执行 HTTP 重定向,但我目前执行的方式不起作用。当我尝试重定向时,它只打印状态代码和位置标题:

my $q = new CGI;
q->redirect(" http://www.google.com ");

【问题讨论】:

  • 返回的状态码是什么?
  • 呃,第二行? $美元符号?错字?

标签: perl redirect cgi


【解决方案1】:

我发现问题出在哪里,我在打印 200 ok 状态后尝试重定向,这将导致我将 URL 打印到页面而不是重定向到它

【讨论】:

  • 这就是为什么应该发布您正在尝试的实际代码,而不是不同的东西。 :)
【解决方案2】:

URL 周围的空格是否有目的?根据 CGI 库的功能,这些可能会出现问题。我可以看到它将您的 URL 转换为 %20http://www.google.com%20 ,这将无法正确加载...

编辑:当我测试它时,它似乎没有做任何有害的事情,除了直接传递给浏览器。另一方面,您的代码中缺少use$print——这是您正在尝试的实际代码,还是其他?

【讨论】:

    【解决方案3】:

    您需要 CGI 在顶部吗?

    use CGI;
    my $query=new CGI;
    print $query->redirect('http://www.foo.com');
    

    这对我有用

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-10-10
      • 2014-10-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-31
      • 1970-01-01
      相关资源
      最近更新 更多