Thread Weiterleitung auf eine html-Seite mit print Location ... scheitert an content-type? (32 answers)
Opened by Draussenduscher at 2012-04-17 11:32

rosti
 2012-04-17 19:57
#157538 #157538
User since
2011-03-19
3197 Artikel
BenutzerIn
[Homepage]
user image
Der Content-Type stört überhaupt nicht, wenn ein Location-Header gesetzt wurde. Die Reihenfolge der Header ist auch egal.

Wichtig beim Location-Header ist der Status, also das sind dann 2 Header
Status: 302 Moved
Location: /
<<<<<<<<<<<<< und hier die Leerzeile >>>>>>>>>>>>>>>>>>>>>>>>>

Mit CGI::Headers kannst Du über das Objekt jederzeit Headers setzen oder Löschen. Es gibt jedoch verschiedene Versionen von CGI::Headers, evntl. ists besser, gleich eine eigene Funktion zu schreiben

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# setzt HTTP Header
sub header{
        my $self = shift;
        my %header = @_;
        %{$self->{HEADERS}} = (%{$self->{HEADERS}}, %header) if @_;
        my @hs = ();
        # Default Header Content-Type sicherstellen
        if(not exists $self->{HEADERS}{'Content-Type'}){
                $self->{HEADERS}{'Content-Type'} = 'text/html; charset=UTF-8';
        }
        foreach my $h(keys %{$self->{HEADERS}}){
                push @hs, "$h: $self->{HEADERS}{$h}";
        }
        return join("\n", @hs)."\n\n";
}


Die Header werden im Objekt in einem Attribut gespeichert und als Return-Wert wird alles zusammen zurückgegeben.

--Rosti

View full thread Weiterleitung auf eine html-Seite mit print Location ... scheitert an content-type?