Fehler 405 – Perl-Test geht nicht – Martin Grüning

Hallo!

Ich habe aus einem Einsteiger-Perl-Buch ein einfaches Formular kopiert und angepasst, welches nach dem Abschicken eine simple Perl-Funktion aufrufen soll. Geht aber nicht.
Ich benutze den PersonalWebServer von Microsoft.

  1. Formular mit Methode „post“ führt zu folgender Fehlermeldung:

HTTP Fehler 405
405 Methode nicht erlaubt
Die in der Anforderungszeile angegebene Methode ist für die durch die Anforderung bezeichnete Ressource nicht erlaubt. Vergewissern Sie sich bitte, dass Sie den richtigen MIME-Typ für die angeforderte Ressource eingestellt haben.
Setzen Sie sich bitte mit der Verwaltung des Webservers in Verbindung, wenn das Problem fortbesteht.


Ich war bisher immer beruhigt, das der Verwalter des Webservers schuld war, aber nun bin ich das ja!

  1. Formular mit Methode „get“ führt zur Anzeige der Perl-Datei als Textdatei im Browserfenster.

Bei beiden Vorgängen sehe ich in der Adresszeile des Browsers die richtige Adresse, d.h. die Perl-Datei in ihrem Verzeichnis (cgi-bin).

Im Formular habe ich schon selbständig das enctype-Attribut mit Wert eingetragen, hat sich aber nichts verändert.
Formular:

Das erste CGI-Programm

In der Perl-Datei habe ich alle Zeilen gelöscht, um eine absolute Fehlerfreiheit herzustellen. So sieht es aus:
#!G:/Perl/bin/perl.exe
print(’’);

Wo liegt der Fehler? Danke für jede Hilfe.

MfG,
Martin.

Hallo!

Ich habe aus einem Einsteiger-Perl-Buch ein einfaches Formular
kopiert und angepasst, welches nach dem Abschicken eine simple
Perl-Funktion aufrufen soll. Geht aber nicht.

Hat der beim Installieren von Perl gefragt, ob er ISAPI mit installieren soll ? Abgeschaltet ?

Ich benutze den PersonalWebServer von Microsoft.

Schlecht. Kenne ich gar nicht. Die folgenden Hinweise gehören zum IIS, vielleicht ists beim PWS ähnlich.

  1. Formular mit Methode „post“ führt zu folgender
    Fehlermeldung:

HTTP Fehler 405

  1. Formular mit Methode „get“ führt zur Anzeige der Perl-Datei
    als Textdatei im Browserfenster.

Der PWS hat ein Problem, dem musst du noch sagen, was er denn mit .pl machen soll (Nach …\perl.exe %1 nicht vergessen). Beim IIS gibts in der Konfiguration „Anwendungseinstellungen“, „Konfiguration“, wo man so was eintragen kann. Evtl. tut es auch der Eintrag der Perl-ISAPI-DLL im Register „ISAPI“ des Servers, falls installiert.

In der Perl-Datei habe ich alle Zeilen gelöscht, um eine
absolute Fehlerfreiheit herzustellen. So sieht es aus:
#!G:/Perl/bin/perl.exe

print(‚Content-Type: text/html\n\n‘);

Im Script ist auch noch ein Fehler. Der Webserver möchte schon vorher die Header bekommen, zumindestens einen…

Alexander

Was ist denn ISAPI?
ebendas

sorry, dass ich das Problem nicht lösen kann, aber ich bin bisher eigentlich immer ganz gut mit Apache, ActivePerl & PHP gefahren.
Würde ich an deiner Stelle mal testweise installieren.

http://www.apache.org/
http://www.activeperl.com/
http://www.php.net

Tutorial zum Einrichten:
http://www.perlunity.de/perl/offline/offline.shtml

Grüße
Pfanni

Eine DLL-Schnittstelle von Microsoft, mit welcher sich externe Programme beim IIS registrieren können, um bestimmte Dateitypen zu verarbeiten. In der IIS-Konfiguration gibt es ein gleichnamiges Register, wo man diese Programme verwalten kann. Sowohl Perl aus auch PHP lassen sich darüber einbinden. So etwas ähnliches wie die Module beim Apache…