Tobias: Script auf anderem Server ausführen und Rückgabe auswerten

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.

  1. @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

    1. 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.

      1. 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 ...

        1. 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

      2. 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