Gå til innhold

Anbefalte innlegg

Jeg har en ashx fil som genererer et XML-dokument. ashx-filen ligger i en mappe som er beskyttet i web.config, og følgelig må brukere logge på nettsiden for å se XML-dokumentet.

 

Dette XML-dokumentet skal nå en tredjepart lese med PHP... hvordan kan jeg/han logge på siden for å få tilgang til dokumentet?

Lenke til kommentar
Videoannonse
Annonse

Jeg har en ashx fil som genererer et XML-dokument. ashx-filen ligger i en mappe som er beskyttet i web.config, og følgelig må brukere logge på nettsiden for å se XML-dokumentet.

 

Dette XML-dokumentet skal nå en tredjepart lese med PHP... hvordan kan jeg/han logge på siden for å få tilgang til dokumentet?

Gi tredjeparten HTML-en som utgjør innloggingssiden, disse kan da POST-e brukernavn, passord og anne moro, få dette tilknyttet en session og bare bruke samme session mot ashx filen

Lenke til kommentar

Pretty much hva brukeren over sa.

<?php

$brukernavn = 'myuser';
$passord = 'mypass';
$logginnUrl = 'http://www.eksempel.no/logg-inn/';
 
//initialiser curl
$ch = curl_init();
 
//Angi URLen for innlogging
curl_setopt($ch, CURLOPT_URL, $logginnUrl);
 
// Aktiver HTTP POST
curl_setopt($ch, CURLOPT_POST, 1);
 
//Angi POST parametere
curl_setopt($ch, CURLOPT_POSTFIELDS, 'user='.$brukernavn.'&pass='.$passord);

//cookie.txt er opprettet av cURL og brukes til å lagre påloggingsøkten i SESSION
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
 
// Ved å sette CURLOPT_RETURNTRANSFER variabel til 1 vil tvinge cURL
// til å ikke skrive ut resultatene av spørringen.
// I stedet vil det bli resultatene bli returnert som en streng verdi
// fra curl_exec () i stedet for true / false.
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
 
//Logg inn
$store = curl_exec($ch);
 
//Innlogging er nå gjennomført, du kan fortsette med å hente
//beskyttet innhold.
 
//Angi URLen til den beskyttede filen
curl_setopt($ch, CURLOPT_URL, 'http://www.eksempel.no/xml/generated.xml');
 
//utfør
$content = curl_exec($ch);
 
//lagre xml etc..
file_put_contents('~/generated.xml', $content);
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å
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...