Gjest Slettet-8fx0y6VV Skrevet 1. mars 2004 Del Skrevet 1. mars 2004 Hei Jeg prøver å lage et perl script som sender 3 variabler til en internett side (bruker id, passord og uptime). Det som er problemet er at Perl scriptet ikke klarer å sende variablene til websiden. Jeg er 100% sikker på at web siden virker. Her er koden min : #!/usr/bin/perl -w use strict; use LWP::UserAgent; ############################################################# # # Din bruker id: my $id = 1; # # Ditt passord i md5 versjon: my $pass = "fe3afdafe7ef9f6XXXXXXXXXXXXXX"; # ############################################################# my $ua = LWP::UserAgent->new; # Starter en uendelig loop while (1) { # Åpner /proc/uptime my $test1 = open UP, "/proc/uptime"; # Hvis det skjer en feil: unless ($test1) { print "ERROR!\n"; die; } # Setter den globale $upsek til 0 my $upsek = 0; # Starter å lese av /proc/uptime while (<UP>) { # Finner oppetid i sekunder $_ =~ /([\d\.]+)\s[\d\.]+/; # Og lagrer det i den global $upsek $upsek = $1; } # Lukker filen /proc/uptime close UP; # Lager urlen : my $url = "http://xxxxx.no-ip.com/up/index.php"; # Sender informasjonen til serveren ############################################################### # Det som kommer her er det jeg ikke får til : ############################################################### my $res = $ua->post($url, [id => $id, p => $pass, sek => $upsek]); if ($res->is_success) { print $res->content; } else { print "-1"; } ################################################################ # Skriver til skjermen print "\nUptime : $upsek sekunder\n"; # Sover i 60*10sekunder(10 minutter) før loopen startes på ny sleep 60*10; } Takker for alle svar Lenke til kommentar
Gjest Slettet-8fx0y6VV Skrevet 1. mars 2004 Del Skrevet 1. mars 2004 Jeg fikk det til selv Lenke til kommentar
Torbjørn Skrevet 2. mars 2004 Del Skrevet 2. mars 2004 flott. hva var det som var feil og hva gjorde du får å løse det? Lenke til kommentar
Gjest Slettet-8fx0y6VV Skrevet 2. mars 2004 Del Skrevet 2. mars 2004 Det var komunikasjonen mellom scriptet og websiden som jeg hadde gjort en feil med. Jeg trodde at denne: $ua->post($url, [id => $id, p => $pass, sek => $upsek]); Ville sende variablene til websiden, men jeg tenkte ikke på om det var POST eller GET. Så i php() sriptet på websiden hadde jeg brukt GET. Jeg testet dette i nettleseren, dette gikk fint. Det som jeg ikke tenkte på var at perl scriptet sendte variablene som POST (siden funksjonen heter post så er dette litt flaut , men jeg har lært av mine feil ) Så når jeg endret php sriptet fra å bruke GET til å bruke POST virket det supert Lenke til kommentar
Torbjørn Skrevet 2. mars 2004 Del Skrevet 2. mars 2004 ah, skjønner. hvis du bruker $_REQUEST istedet, vil den fange opp både GET og POST parametere Lenke til kommentar
Gjest Slettet-8fx0y6VV Skrevet 2. mars 2004 Del Skrevet 2. mars 2004 Takk for tipset Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå