login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Beveiligde pagina krijgen (Opgelost)

Offline voltrex - 20/10/2009 19:54
Avatar van voltrexLid Ik ben nu al een ander halfuur bezig met te zoeken hoe ik een beveiligde pagina kan 'includen' op mijn website, zoals file_get_contents, maar dat lukt hier niet omdat je hiervoor ingelogd moet zijn.

Het gaat dus over een pagina waar ik sommige delen van wil halen, deze pagina bevind zich in een online browsergame. Voor deze pagina te bekijken moet je dus ingelogd zijn op deze website. Nu lukt gewoon file_get_contents hier dus ook niet. Ik zoek dus een methode om het zelfde effect als file_get_contents te kijken, maar dan dat ik wel kan 'inloggen' en die pagina halen.

Google + Php.net leveren me tot nog toe niets op...

Voltrex

10 antwoorden

Gesponsorde links
Offline Ultimatum - 20/10/2009 20:59
Avatar van Ultimatum PHP expert Probeer het eens met PHP.net: curl
Offline voltrex - 20/10/2009 21:41
Avatar van voltrex Lid Daar heb ik al inderdaad rondgekeken, maar nergens vond ik een goede tutorial/functie van wat ik juist zocht.
Offline genkstar - 20/10/2009 22:03
Avatar van genkstar Nieuw lid Als het via .htaccess & .htpasswd is beveiligd;
curl_setopt($ch, CURLOPT_USERPWD, "$uname:$pw");

En anders gewoon eerst username + password Posten endan zaken ophalen?
Offline voltrex - 20/10/2009 22:04
Avatar van voltrex Lid Ja maar dat is juist wat ik zoek, :-)
Hoe moet je dan je(/een) username + password posten? (het is niet met .htaccess en .htpasswd gemaakt).
Offline NTS64 - 20/10/2009 22:08 (laatste wijziging 20/10/2009 22:09)
Avatar van NTS64 PHP gevorderde Met cURL kan je een POST request versturen...

  1. <?php
  2. $ch = curl_init();
  3. curl_setopt($ch, CURLOPT_URL, 'http://www.browsergame.com');
  4. curl_setopt($ch, CURLOPT_POST, true); // Request method op POST zetten
  5. curl_setopt($ch, CURLOPT_POSTFIELDS, 'veldnaam1=waarde&veldnaam2=waarde'); //Dit zijn je postvelden, de naam is die van het html attribuut, en de value spreekt voor zichzelf
  6. curl_setopt ($ch, CURLOPT_COOKIEJAR, 'cookies.txt'); //Een Cookiejar aanmaken om de sessie cookie in op te slaan
  7. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // geen output naar het scherm printen.
  8. $ouput = curl_exec($ch); //uitvoeren en output opvangen
  9. curl_close($ch);
  10. // Hier kan je dan een regex oid toepassen op $output
Offline voltrex - 20/10/2009 23:03 (laatste wijziging 21/10/2009 10:32)
Avatar van voltrex Lid Ik krijg het maar niet ok:
  1. <?php
  2. $ch = curl_init();
  3. curl_setopt($ch, CURLOPT_URL, 'http://www.kriminals.nl');
  4. curl_setopt($ch, CURLOPT_POST, true); // Request method op POST zetten
  5. curl_setopt($ch, CURLOPT_POSTFIELDS, 'gebr_lgn=gebruikersnaam&ww_lgn=wachtwoord'); //veldnaam=naamvan html veld, waarde = value
  6. curl_setopt ($ch, CURLOPT_COOKIEJAR, 'ucookies.txt'); //Een Cookiejar aanmaken om de sessie cookie in op te slaan
  7. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // geen output naar het scherm printen.
  8. $output = curl_exec($ch); //uitvoeren en output opvangen
  9. curl_close($ch);
  10. // Hier kan je dan een regex oid toepassen op $output
  11. $filekrimimp = file_get_contents('http://www.degame.nl/leden/marktplaats.asp?q=marketprices', true, $output, 20, 14);
  12. var_dump($filekrimimp); // Of echo $filekrimimp;
  13. ?>

Resultaat: "NULL" (zonder " ") (gaat over de onderste twee)
Momenteel klopt de 20, 14 nog niet, is gewoon als test.
Maar dus, wat is hier fout? Ik heb al alles wat geprobeerd met die lijn, (onderste twee) maar niets lukt. php.net maakt me ook niets wijzer....
Offline your_mother - 21/10/2009 00:30
Avatar van your_mother Nieuw lid allereerst: zo te zien staan je login gegevens letterlijk in de POST string

Dan ten tweede: de sites zijn verschillend, dus zodra je weet op welke site je moet zijn kan je misschien naar punt 3 kijken:

Ten derde: je logt in met curl, dus je moet ook de site ophalen met curl!!
Offline voltrex - 21/10/2009 10:32 (laatste wijziging 21/10/2009 14:05)
Avatar van voltrex Lid Ja, de login gegevens heb ik even weggedaan, maar was niet mijn echt account dus no big deal.

Ik kijk even naar de rest.

Je het is gelukt. :-)
Bedankt allemaal.

Edit:
Toch nog één vraagje, het is de bedoeling dat ik maar een bepaald deel van de pagina wil laten zien. (een tabel met wat informatie) Normaal zou ik dit dan hebben gedaan zoals:
  1. file_get_contents('http://www.game.be/leden/marktplaats.asp?q=marketprices', true, $output, 20, 14

(ongeveer)
Maar hoe moet ik dit dan doen met cURL? (indien dit mogelijk is), als dit niet mogelijk is, hoe doe ik het dan het best?
ereg_replace,....?
Offline NTS64 - 21/10/2009 14:51 (laatste wijziging 21/10/2009 14:54)
Avatar van NTS64 PHP gevorderde Je kan in mijn voorbeeld een regex oid toepassen op $output. Of je kan $output exploden met newlines:

  1. <?
  2. explode("\n", $output);


En vervolgens de juiste keys eruitplukken.
Offline voltrex - 21/10/2009 18:38
Avatar van voltrex Lid Ja bedankt! :-) Na een beetje puzzelen heb ik nu het gewenst resultaat. Bedankt Woedi! 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.233s