On 16.07.01 Andre Schulze (as8@Rcs1.urz.tu-dresden.de) wrote:
Moin,
Nun, da bis jetzt noch keine Antwort kam, hab ich nochmal mit dem Projektleiter gesprochen, was er eigentlich wirklich will. Situation: Eine ganze Latte IP-Phones (40 Stücke), die zentral gewartet werden sollen. Die haben zum Netz Port 80 offen, können also mit einem ganz normalen Browser reden. Darum funktioniert bisher der interaktive Weg: Browser auf, Config ändern, Browser zu. Jetzt wollen wir das Zeug verskripten, also: telnet auf Port 80, Authentifizierung, Befehle eingeben und wech. Wir suchen also konkret ein non-interaktives Telnet. Stöbern in meinem privaten lug-dd-Archiv förderte zwei Ansätze zu Tage: expect und Net::Telnet.
Wie wäre es denn mit einem richtigen http user agent? Da gäbe es z.B. use LWP::UserAgent; use HTTP::Request; use HTTP::Response; my $url = "$stats_url_pre/$contest/$stat_member_url"; my $ua = LWP::UserAgent->new(); $ua->agent("Homebuilt LogParser/v0.0.2"); my $req = HTTP::Request->new(GET => $url); $req->referer("http://rudi.urz.tu-dresden.de/rc5/"); my $response = $ua->request($req); my $dnet_data = $response->content() or die "kann...";
Für posts gibt es sicher auch ein passendes Modul.
Gut, ich werde mir das anschauen. Vorläufig habe ich aber auch das Perl-Skript ans Rennen gebracht und werde mich damit auseinandersetzen, weil mir das besser erscheint als expect. Mittlerweile habe ich aber auch herausgefunden, daß ein wget -O $tmp http://$(user):$(passwd)@$(ip-phone)/!+config+show & dasselbe macht, wie ein telnet auf die Büchse und das eingeben des Befehles "config show", so daß man das alles mgl. weise über ein paar wget-Kommandos erledigen kann. Bei meinen Perl-"Kenntnissen" ist das mgl. weise der beste Weg.
H.