Moskus Skrevet 18. september 2013 Del Skrevet 18. september 2013 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
the_student Skrevet 18. september 2013 Del Skrevet 18. september 2013 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
Dan-Levi Skrevet 18. september 2013 Del Skrevet 18. september 2013 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
Moskus Skrevet 19. september 2013 Forfatter Del Skrevet 19. september 2013 Wow, takker! Skal teste det med en gang. 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å