Gå til innhold

Sende GET til web-side


Gjest Slettet-8fx0y6VV

Anbefalte innlegg

Gjest Slettet-8fx0y6VV

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 :yes:

Lenke til kommentar
Videoannonse
Annonse
Gjest Slettet-8fx0y6VV

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(:blush:) 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 :blush: , men jeg har lært av mine feil :roll: )

Så når jeg endret php sriptet fra å bruke GET til å bruke POST virket det supert :thumbs:

Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...