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