2010-03-14 7 views
-6

Je veux effectuer une redirection HTTP, mais la façon dont je le fais actuellement ne fonctionne pas. Lorsque je tente de rediriger il imprime juste le code d'état, et l'en-tête de l'emplacement:Comment émettre une redirection HTTP avec CGI.pm de Perl?

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

Quel est le code d'état est retourné? – ccheneson

+1

Erm, deuxième ligne? $ Dollar signe? Faute de frappe? –

Répondre

2

exigez-vous que CGI en haut?

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

cela fonctionne pour moi

0

Y at-il un but des espaces autour de l'URL? En fonction de ce que fait la bibliothèque CGI, ceux-ci peuvent présenter un problème. Je pouvais voir la conversion de votre URL à% 20http: //www.google.com%20 qui ne se charge pas correctement ...

Modifier: Il ne semble pas faire quoi que ce soit dangereux quand je le tester, autre que d'être transmis directement au navigateur. D'un autre côté, il vous manque un use, un $ et un print dans votre code - est-ce le code que vous essayez, ou autre chose?

-3

je compris quel était le problème, j'essaie de rediriger après avoir imprimé l'état ok 200, qui résulterait en moi l'impression de l'URL de la page au lieu de rediriger vers elle

+10

C'est pourquoi devrait publier le code que vous essayez, pas quelque chose de différent. :) –

Questions connexes