- Alle categorieën
- Computers & Internet
- Elektronica
- Entertainment & Muziek
- Eten & Drinken
- Financiën & Werk
- Huis & Tuin
- Kunst & Cultuur
- Maatschappij
- Persoon & Gezondheid
- Sport, Spel & Recreatie
- Vakantie & Reizen
- Vervoer
- Wetenschap
- GoeieVraag.nl
- Overig
Hoe haal ik data van een pagina op een site die beveiligd is met een username en password?
Hoe haal ik data van een pagina op een site die beveiligd is met een username en password?
Ik wil zelf een applicatie in PHP en HTML schrijven waarmee informatie door een gebruiker kan worden opgevraagd.
De gebruiker voert zijn gebruikersnaam en wachtwoord in van het systeem waar mijn PHP script de data van af haalt.
Met andere woorden:
Ik heb een script/methode nodig die inlogt op een externe site (beveiligd met een form), daar de data af haalt en presenteert in mijn eigen script.
Wie geeft mij een duw in de juiste richting? Ik ben redelijk ervaren in PHP maar weet in dit geval even niet waar ik naar moet zoeken.
2 Antwoorden
de enige manier om informatie van andere websites af te halen zonder inbreuk te maken op het intellectuele eigendom van de ontwikkelaar van die website is gebruik te maken van webservices van diverse websites.
zo kan je de API van twitter, facebook en google+ gebruiken.
andere manieren zijn een soort van diefstal tenzij je die website in een soort van iFrame opent en dus duidelijk laat zien dat je ergens anders zit in te loggen (vanwege phishing).
voorbeeld van gebruik van een api
$gebruikersNaam = naamvanhettwitteraccount’;
$aantalTweetsTonen = 5;
$twitterFeed = ‘http://api.twitter.com/1/statuses/user_timeline/’.$gebruikersNaam.’.xml?count=’.$aantalTweetsTonen;
$twitterCurl = curl_init();
curl_setopt($twitterCurl, CURLOPT_URL, $twitterFeed);
curl_setopt($twitterCurl, CURLOPT_RETURNTRANSFER, TRUE);
$twitter = curl_exec($twitterCurl);
$tweets = new SimpleXMLElement($twitter);
dit is een gedeelte van wat ik een keer in php heb gemaakt om tweets te tonen op een website van bepaalde gebruikersaccounts (een twitter/nieuwsfeed van de beheerder van die website).
Als de site waar je de data vanaf wilt halen deze data niet via een webservice aanbiedt, en de authenticatie niet via basic authentication loopt, moet je de login nabootsen via je script. Dat betekent dat je zelf een post moet doen naar de login URL, waarop je waarschijnlijk een cookie terugkrijgt. Dit cookie is het bewijs dat je ingelogd bent, en dat moet je dan weer meesturen bij de vervolgaktie, waar je de data ophaalt.
Als je zelf ook de eigenaar bent van de site waar de informatie op staat, moet je het eigenlijk netter oplossen met een webservice met basic authentication. Uit je verhaal neem ik aan dat dat niet zo is. Ik ga er vanuit dat je wel recht hebt op de informatie, omdat je anders de gebruikersnaam en wachtwoord niet zou hebben.
Gerelateerde vragen
- Hoe open ik een mySQL database en kan ik er dingen uit verwijderen?
- Heeft iemand een goede en eenvoudige (en gratis) PHP generator gevonden ?
- Heeft iemand ideeën voor een mogelijkheid voor zelfstudie om de basis voor programmeren in XML overzichtelijk te krijgen?
- Hoe koppel ik 2 PC's met een kabel (géén netwerk!) aan elkaar tbv. gegevensoverdracht?
- Hoe zorg ik dat in een MS Access form de query naar de Access database op het netwerk wordt verstuurd en alleen de benodigde data terug komt
Stel vragen en deel jouw kennis met anderen. Een unieke kans om snel antwoord op die dringende vraag te krijgen.
- 1. hoe heet dit fenomeen in PHP? bla.php?iets=lol.html o.i.d.
2 antwoorden - 2. Weet iemand misschien hoe je kan leren programmeren, zoals gameplay van fifa 12, GTA of Call of Duty? Handige sites zijn nuttig!
4 antwoorden - 3. Welke kleurcodes moet ik in word gebruiken om rabobankblauw en rabobankoranje te krijgen?
3 antwoorden
-
18:07 Jeroenert beantwoordt:
ik wil een scooter gaan kopen, maar ik wil er niet te veel aan uit geven. wat… -
18:04 joro vraagt:
Easyswtich geeft aan, dat ik geen recht op 20,00 euro aanmeldpremie heb, terwijl… -
18:03 Computoon beantwoordt:
Mag je zo maar een schijnwerper op het dak van je huis plaatsen?

