Gjest Slettet-8fx0y6VV Skrevet 1. mars 2004 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
Torbjørn Skrevet 2. mars 2004 Skrevet 2. mars 2004 flott. hva var det som var feil og hva gjorde du får å løse det?
Gjest Slettet-8fx0y6VV Skrevet 2. mars 2004 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
Torbjørn Skrevet 2. mars 2004 Skrevet 2. mars 2004 ah, skjønner. hvis du bruker $_REQUEST istedet, vil den fange opp både GET og POST parametere
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å