webForumDet fria alternativet

omdirigera användare

1 svar · 258 visningar · startad av pennypacker

pennypackerMedlem sedan mars 200291 inlägg
#1

Jag behöver göra ett script som tar emot en url och skickar användaren vidare till rätt adress.
Jag hade tänkt mig något i stil med:

#!/usr/bin/perl

print "Content-type: text/html\n\n";

my $url = $ENV{QUERY_STRING};

open (HTML, "<$url");
$html=join('',<HTML> );
close(HTML);
print $html;

Jag vill inte använda print "Location: $url\n\n" eftersom url:en då syns uppe i browserns adressfält. Problemet jag har är att variabeln som kommer in inte är en fil utan en url som leder till en querymodul. Finns det något annat sätt att lösa det på?
Det viktigaste är egentligen att inte url:en syns uppe i adressfältet.

JojoxxMedlem sedan juni 20004 308 inlägg
#2

Antingen så låtar du perl-scriptet bygga upp en frameset där du i en enda stor frame laddar url'en. URL'en synns då inte i adress-raden, men går givetvis att kolla åt via källkoden till sidan. Vill du att URL'en skall vara helt dold för du först ladda ner datat till servern där scriptet körs och sedan skicka det vidare till användaren. Detta kan dock få stora nackdelar och orsaka hög belastning eftersom du inte har någon kontroll på hur mycket data som laddas till webbservern. Dessutom tar det naturligtvis längre tid. Iaf;

use LWP::Simple;
$content = get($url);

$content innehåller url'ens datainnehåll.

126 ms totalt · 3 externa anrop · v20260731065814-full.0e50b1ef
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
123 ms — hämta tråd, inlägg och bilagor (db)