php curl post versturen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jesper S

Jesper S

05/09/2018 22:42:10
Quote Anchor link
Beste mensen,

Ik ben een systeem aan het maken dat ik elke dag een pushnotificatie krijg van mijn rooster.
Ik had het al een tijd werkend tot dit schooljaar omdat we een nieuw portaal hebben.
Dit is een deel van de niet meer werkende code:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
$ch
= curl_init();

curl_setopt($ch, CURLOPT_URL,"https://school.nl/index.php?p=index&actie=login");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,"user=LEERLINGNUMMER&pass=WACHTWOORD&w=l");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$output = curl_exec($ch);
curl_close($ch);

if (strpos($output, 'Ingelogd als') !== false) {
// login gelukt
} else {
  die('Verkeerde login gegevens.');
}


?>





Het portaal is niet helemaal nieuw maar zeer aangepast.
om in te loggen moet je een post sturen naar school.nl?actie=login met de value's username,password en w. Zelfde als eerst
Normaal kreeg je op de homepage direct je rooster van de dag te zien, maar die staat nu op school.nl?actie=rooster
Dus de grote vraag is, is het mogelijk om eerste in te loggen met ?actie=login en vervolgens ingelogd blijven en het rooster opvragen met ?actie=rooster als GET en als post d=today. Ik krijg het niet voorelkaar, misschien hebben jullie een idee.

Groetjes.
Gewijzigd op 05/09/2018 22:42:37 door Jesper S
 
PHP hulp

PHP hulp

19/04/2024 10:02:33
 
- Ariën  -
Beheerder

- Ariën -

05/09/2018 22:53:50
Quote Anchor link
Je zou een cookie kunnen wegschrijven met CURL en die gebruiken voor een nieuwe request.

Het lijkt mij eerder raadzamer om eens uit te zoeken voor requests er plaatsvinden voor we wat nuttigs kunnen zeggen. De developer-tool van je browser kan hierbij goed helpen.
Gewijzigd op 05/09/2018 22:54:07 door - Ariën -
 
Rob Doemaarwat

Rob Doemaarwat

05/09/2018 22:55:08
Quote Anchor link
Waarschijnlijk wordt de login status opgeslagen in de sessie, en dan moet je dus het sessie cookie "onthouden". Dit kan met curl met de CURLOPT_COOKIEJAR option. Volgens mij staat in dit stuk code op de curl_setopt() handleiding pagina precies wat je zoekt: https://secure.php.net/manual/en/function.curl-setopt.php#57005
 
Thomas van den Heuvel

Thomas van den Heuvel

05/09/2018 23:01:20
Quote Anchor link
Ben je toevallig ook recent overgestapt van http naar https. Mogelijk moet je dan (o.a. in cURL) door wat meer hoepels springen.
 
- Ariën  -
Beheerder

- Ariën -

05/09/2018 23:22:34
Quote Anchor link
In dat geval moet je de juiste certificaten even koppelen aan je cURL implementatie:
http://unitstep.net/blog/2009/05/05/using-curl-in-php-to-access-https-ssltls-protected-sites/

Maar het ligt eraan waar het fout gaat.
Gewijzigd op 05/09/2018 23:23:25 door - Ariën -
 
Jesper S

Jesper S

06/09/2018 11:30:31
Quote Anchor link
Het ligt zo ver ik weet niet aan de HTTPS. Ik kan gewoon de homepage opvragen en succesvol inloggen.

Over die cookies, dat ga in eens proberen. Er word inderdaad een PHPSESSiD cookie aangemaakt .

Toevoeging op 06/09/2018 15:12:40:

Ik heb nu een curl script die mij de cookie PHPSESSID geeft, de content die die function terug geeft is: PHPSESSID=tpvo5npf1r51o4fddl2cd6uje7; . Ik zal even verder prutsen.
 
- Ariën  -
Beheerder

- Ariën -

07/09/2018 16:30:38
Quote Anchor link
Hebben ze geen API of iets dergelijks? ;-)
Dat zou het wel stukken makkelijker maken.
 
Rob Doemaarwat

Rob Doemaarwat

07/09/2018 17:19:59
Quote Anchor link
Als je de Curl cookie jar gebruikt hoef je je hier geen zorgen om te maken (leuk om te weten, maar niet nodig). Als je bij de volgende Curl call gewoon weer hetzelfde cookie bestand meegeeft, geeft Curl de cooies ook weer mee (net zoals een gewone browser).
 
Jesper S

Jesper S

08/09/2018 12:11:49
Quote Anchor link
- Ariën - op 07/09/2018 16:30:38:
Hebben ze geen API of iets dergelijks? ;-)
Dat zou het wel stukken makkelijker maken.

Haha, nee helaas niet.


Toevoeging op 08/09/2018 12:12:51:

Het is gelukt, iedereen bedankt voor de reacties.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.