Aufruf auf einer fremden Maschine.
TOM
- perl
Hallo Leute.
Folgende Frage:
Wie kann ich von einem Perl Programm aus, ein anderes Programm(in diesem Fall sql-Abfrage), welchese
auf einem anderem Computer liegt, starten.
Es handelt sich um zwei Unix-Kisten.
Ich hab da null Schimmer.
adios
tom
Hallo Leute.
Folgende Frage:
Wie kann ich von einem Perl Programm aus, ein anderes Programm(in diesem Fall sql-Abfrage), welchese
auf einem anderem Computer liegt, starten.Es handelt sich um zwei Unix-Kisten.
Ich hab da null Schimmer.
adios
tom
Das geht ganz normal über eine absolute Adressierung:
http://www.domain.de/cgi-bin/script.cgi....
Reiner
Hi,
Wie kann ich von einem Perl Programm aus, ein anderes Programm(in diesem Fall sql-Abfrage), welchese
auf einem anderem Computer liegt, starten.Es handelt sich um zwei Unix-Kisten.
allgemein gesagt: Indem Du Dir ein Kommunikationsprotokoll aussuchst, über welches die beiden Maschinen miteinander sprechen wollen.
Das *kann* HTTP sein, wie im Vorschlag von Reiner. (Dazu müßte das gerufene Programm seine Parameter via CGI erhalten.)
Es gibt aber auch andere Möglichkeiten, beispielsweise remote shell, TCP/IP-sockets, ...
In jedem Falle muß Kiste Nr. 2 darauf vorbereitet sein, daß Kiste Nr. 1 etwas von ihr will, und sie muß es auch erlauben.
mfG - Michael
Hallo Micha,
wie das mittels Browser geht, habe ich ja selbst vorgeschlagen.
Wie kann ich es denn OHNE machen? Ich meine, wie sieht ein Script aus, daß nicht per html... direkt zugreift?
exec ('perl http://www.domain.de/mein_script.cgi');
funktioniert jedenfalls nicht!
Reiner
Moin Reiner!
wie das mittels Browser geht, habe ich ja selbst vorgeschlagen.
Wie kann ich es denn OHNE machen? Ich meine, wie sieht ein Script aus, daß nicht per html... direkt zugreift?
Einen HTTP-Request kann doch nicht nur der Browser absetzen, sondern auch ein Script z.B.
exec ('perl http://www.domain.de/mein_script.cgi');
funktioniert jedenfalls nicht!
Natuerlich nicht, wieso sollte es?
Ein kleines Perl script, das einen HTTP-Request absetzt, sieht z.B. so aus (untested):
#!/path/to/your/perl -w
use strict;
use LWP::UserAgent ();
my $ua = LWP::UserAgent->new();
my $request = HTTP::Request->new('GET', 'http://www.domain.de/mein_script.cgi');
my $response = $ua->request($request);
printf("HTTP response code: %d\n", $response->code());
printf("Content is: %s\n", $response->content()) if ($response->code() == 200);
So long
Hallo Calocybe,
danke!
Dachte ich mir schon, daß da wieder ein Modul an der Reihe ist!
Hat mir sehr geholfen!
Reiner
Folgende Frage:
Wie kann ich von einem Perl Programm aus, ein anderes Programm(in diesem Fall sql-Abfrage), welchese
auf einem anderem Computer liegt, starten.
Du kannst zum Beispiel die Moeglichkeiten von ssh benutzen.
Peter