kev Skrevet 12. april 2007 Rapporter Del Skrevet 12. april 2007 (endret) Jeg har et case hvor jeg skal hente info fra 2 eksterne sider. Problemet er at jeg ønsker å skjule informasjon som blir sendt fra min server til de 2 eksterne sidene. Her er casen: Min server http://min.tld/ åpner siden http://ekstern.tld/?brukernavn=**&passord=**&page=side.php&var=foo og blir derfra redirecta til http://min.tld/side.php?var=foo&transaksjonsid=1234 (side.php og var=foo sendes til eksern server som lager redirect av det).. da igjen skal jeg hente informasjon fra siden http://ekstern.tld/?brukernavn=**&passord=**&transaksjonsid=1234&status=ok Denne siden vil vise var2:foo2 som ren tekst. Det er ikke noen redirect tilbake til min server der, med andre ord. Men jeg skal likevel bare hente infoen var2:foo2 og vise det på min egen server. Den siste delen er ganske enkelt løst ved å bruke file_get_contents(url).. men den første sliter jeg. Jeg ønsker som sagt å skjule at siden hentes, men likevel få informasjon fra redirect-url som kommer fra ekstern.tld ved oppslag. Jeg har ingen mulighet til å endre noe på den eksterne serveren, og transaksjonsid er annerledes for hvert oppslag. Ganske tungvint forklart sikkert.. men bare spørr Endret 12. april 2007 av kev Lenke til kommentar
stiber Skrevet 12. april 2007 Rapporter Del Skrevet 12. april 2007 Curl kan settes til å følge redirects automatisk. PHP <?php$ch = curl_init('http://ekstern.tld/snip'); //Follow header Location:... (redirects) culr_setopt ($ch, CURLOPT_FOLLOWLOCATION, true); //To prevent infinite redirect loop. culr_setopt ($ch, CURLOPT_MAXREDIRS, 2); //return content instead of echoing it out when calling curl_exec. culr_setopt ($ch, CURLOPT_RETURNTRANSFER, true); $content = curl_exec($ch); //Last used url. $url = curl_getinfo($ch, CURLINFO_EFFECTIVE_URL); ?> Koden er ikke testet. Videre parsing av url kan gjøres ved bruk av parse_url() og parse_str(). Er ikke sikker på at jeg forstod hele problemet, men dette bør løse redirect problemet i alle fall. Lenke til kommentar
cyclo Skrevet 12. april 2007 Rapporter Del Skrevet 12. april 2007 Curl er det beste å bruke når man skal hente ekstern informasjon ja. Den er så sinnsykt kraftig.. Lenke til kommentar
kev Skrevet 12. april 2007 Forfatter Rapporter Del Skrevet 12. april 2007 Takk for tipset Men jeg fant nettopp ut at den første URL til ekstern.tld må hentes fra klienten, og kan ikke hentes fra serveren, så jeg må sende brukernavn og passord likevel (via header(location: url)). Men jeg vet det i alle fall til en senere lignende case da 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å