Script auf anderem Server ausführen und Rückgabe auswerten
Tobias
- perl
Hallo,
ich möchte gerne aus einem Script ein anderes Perlscript auf
einem anderen Server ausführen und die Rückgabe des scriptes dann
auswerten.
Folgendes habe ich zusammengebaut:
$SIG{ALRM}=sub {die "timeout\n"}
eval{
local $SIG{ALRM} = sub {die "timeout\n"};
alarm(120);
@output = system
("https://xxx.xxx.xxx.xxx/cgi-bin/payment.pl?bestell_nr=12345");
alarm(0);
};
if ($@){
if ($@ =~ /timeout/){
print "Content-type: text/html\n\n";
print "timeout\n";
print "$@<br>\n";
print "$?<br>\n";
exit;
} else {
alarm(0);
print "Content-type: text/html\n\n";
print "no props\n";
print "$@<br>\n";
print "$?<br>\n";
die;
}
}
Leider wird aber das ganze nicht ausgeführt, da es ja kein programm ist.
Gibt es da irgendwelche Module die ich da einbinden könnte ? Ich habe leider nichts gefunden, was mir weiterhilft.
Bin für jede Antwort Dankbar,
Tobias.
@output = system
("https://xxx.xxx.xxx.xxx/cgi-bin/payment.pl?bestell_nr=12345");
Leider wird aber das ganze nicht ausgeführt, da es ja kein programm ist.
Nein, das geht natuerlich nicht. Benutze LWP::UserAgent.
Peter
Nein, das geht natuerlich nicht. Benutze LWP::UserAgent.
hab ich gerade versucht, leider unterstützt dies aber kein https
protocol und folgende Fehlermeldung wird angezeigt:
501 Protocol scheme 'https' is not supported
Leider versteh ich nicht so genau, welche parameter ich da jetzt ändern muss.
Tobias.
Nein, das geht natuerlich nicht. Benutze LWP::UserAgent.
hab ich gerade versucht, leider unterstützt dies aber kein https
protocol und folgende Fehlermeldung wird angezeigt:
501 Protocol scheme 'https' is not supported
Leider versteh ich nicht so genau, welche parameter ich da jetzt ändern muss.
Ohne daß ich das selbst schon probiert hätte: Es kann sein, daß LWP::UserAgent dafür nicht flexibel genug ist.
Möglicherweise mußt Du eine Etage tiefer gehen und TCP/IP-Calls auf entsprechende Ports (sockets?) senden.
Ich glaube, mich daran zu erinnern, daß jemand darüber vor längerer Zeit mal etwas gepostet hat - mit der Kombination "perl" und "socket" müßte sich eine Archivsuche lohnen.
Ansonsten: Quelltext von LWP::UserAgent lesen und nachsehen, was der aufruft ...
Ohne daß ich das selbst schon probiert hätte: Es kann sein, daß LWP::UserAgent dafür nicht flexibel genug ist.
Nein, dem ist nicht so.
Peter
hab ich gerade versucht, leider unterstützt dies aber kein https
protocol und folgende Fehlermeldung wird angezeigt:501 Protocol scheme 'https' is not supported
Damit LWP::UserAgent auch SSL unterstuetzt muessen zwei weitere CPAN-Module installiert werden. Wenn ich mich recht entsinne sind es:
IOSocketSSL und CryptSSLeay
Sicher bin ich mir aber nicht mehr.
Peter