-- fixed --
- cURL Hulp gevraagt!
-
11-02-2011, 11:15 #1
- Berichten
- 208
- Lid sinds
- 15 Jaar
cURL Hulp gevraagt!
Laatst aangepast door Jeroen Visser : 29-05-2011 om 10:06
-
-
11-02-2011, 11:21 #2
- Berichten
- 32
- Lid sinds
- 14 Jaar
Re: cURL Hulp gevraagt!
Grappig, op het Candea heb ik ook ooit nog gezeten. Waarschijnlijk moet je nog
curl_setopt($ch, CURLOPT_PORT , 443); toevoegen. Het candea werkte altijd met een paar poorten die maar open stonden. Hoop voor je dat het werkt!
Groeten,
Ruben Mellema
Mellcom ict
www.mellcom.nl
-
11-02-2011, 12:20 #3
- Berichten
- 208
- Lid sinds
- 15 Jaar
Re: cURL Hulp gevraagt!
-- fixed --
Laatst aangepast door Jeroen Visser : 29-05-2011 om 10:06 Reden: Automatisch samengevoegd.
-
11-02-2011, 12:38 #4
- Berichten
- 1.899
- Lid sinds
- 18 Jaar
Re: cURL Hulp gevraagt!
Aan de cookies te zien werken ze met een sessie, die sessie moet natuurlijk wel (nog) bestaan zodra jij erin probeert te kopen. Of dat gaat lukken weet ik zo snel niet,.. je kunt inderdaad met cURL het login formulier submitten, maar in hoeverre de cURL ook de optie bied om een sessie te gebruiken, daar zou ik me ook geen raad mee weten.
Deze kwam ik tegen via google:
curl_setopt($ch, CURLOPT_COOKIESESSION, true);
Zijn een aantal resultaten als je zoekt op 'cURL with session', ik denk dus dat je daar iets vergeet in te schakelen.
Hier zelfs een hele code, probeer dit eens (curl_init en de URL zijn weggelaten, dus wel even aanvullen):
Code:curl_setopt($ch, CURLOPT_AUTOREFERER, true); curl_setopt($ch, CURLOPT_COOKIESESSION, true); curl_setopt($ch, CURLOPT_FAILONERROR, false); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false); curl_setopt($ch, CURLOPT_FRESH_CONNECT, true); curl_setopt($ch, CURLOPT_HEADER, true); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); $result = curl_exec($ch); curl_close($ch); $pattern = "#Set-Cookie: (.*?; path=.*?;.*?)\n#"; preg_match_all($pattern, $result, $matches); array_shift($matches); $cookie = implode("\n", $matches[0]); // Then, once we have the cookie, let's use it in the next request: curl_setopt($ch, CURLOPT_COOKIE, $cookie); curl_setopt($ch, CURLOPT_AUTOREFERER, true); curl_setopt($ch, CURLOPT_COOKIESESSION, true); curl_setopt($ch, CURLOPT_FAILONERROR, false); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false); curl_setopt($ch, CURLOPT_FRESH_CONNECT, true); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_POST, false); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30); $result = curl_exec($ch); curl_close($ch);
-
11-02-2011, 12:39 #5
- Berichten
- 208
- Lid sinds
- 15 Jaar
Re: cURL Hulp gevraagt!
Ik weet hoe ik de cookies mee kan zenden, maar als ik dat doe, zou het dan werken?
-
11-02-2011, 12:42 #6
- Berichten
- 1.899
- Lid sinds
- 18 Jaar
Re: cURL Hulp gevraagt!
Uiteraard, die pagina zal wel de cookie/sessie opslaan en controleren of je wel mag inloggen.. anders is de boel wel erg onveilig opgesteld daar.
-
11-02-2011, 16:15 #7
- Berichten
- 208
- Lid sinds
- 15 Jaar
Re: cURL Hulp gevraagt!
Om eerlijk te zijn, je kunt er zonder login in komen, dus ik verwacht niet dat ik er een login voor moet zetten.
Oja, en ik ga nu testen met een cookie, so, Wish Me Luck :)
-
11-02-2011, 23:51 #8
- Berichten
- 1.899
- Lid sinds
- 18 Jaar
Re: cURL Hulp gevraagt!
Oh sorry, ik las je eerste post fout, dacht even dat er een usernaam en iets van een wachtwoord string stond. De cookie die je terugstuurt na de post levert in elk geval wel een sessie op, maar dan zal deze inderdaad niet gebruikt worden.
Aanvullend bericht:
Ik zit net eens te testen he, maar je hebt volgens mij wel degelijk die headers nodig.. als je namelijk een keer een keuze hebt gemaakt en je gaat daarna direct door naar de asp pagina waar je rooster komt, wordt direct zichtbaar wat je gekozen hebt, maar dan fullscreen.
Aanvullend bericht:
Net nog wat verder getest, deze code haalde een rooster op vlak nadat ik zelf een leerling had gekozen welliswaar (en de sessie dus nog bestond):
PHP Code:<?php
$data = array("Lrlnm" => "109133", "rst" => "Rooster deze week", "submit" => "toon lessen");
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://www.candea.nl/roolookweb/Lrlview.asp");
curl_setopt($ch, CURLOPT_COOKIE, "ASPSESSIONIDAQQQQQCB=PFFMBFICDPCBNCNFDPFMHPDO");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_COOKIESESSION, true);
$result = curl_exec($ch);
curl_close($ch);
var_dump($result);
?>
Code:javascript:alert(unescape(document.cookie));
Ik sleutel nog even verder, leuke opgaaf :D
Aanvullend bericht:
Ben even niet verder gekomen dan het volgende; er wordt wel een cookie gevonden maar hier kan hij helaas nog niets mee doen:
PHP Code:<?php
/* Welke data gaan we meesturen? */
$data = array("Lrlnm" => "109133", "rst" => "Rooster deze week");
$ch = curl_init();
/* Eerst ophalen in het formulier om een leerling te kiezen */
curl_setopt($ch, CURLOPT_URL, "http://www.candea.nl/roolookweb/Lrlvrg.asp");
curl_setopt($ch, CURLOPT_AUTOREFERER, true);
curl_setopt($ch, CURLOPT_COOKIESESSION, true);
curl_setopt($ch, CURLOPT_FAILONERROR, false);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);
curl_setopt($ch, CURLOPT_FRESH_CONNECT, true);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
/* cURL uitvoeren */
$result = curl_exec($ch);
curl_close($ch);
/* De cookies ophalen die aangemaakt zijn, deze is nodig in de volgende stap */
$cookie = preg_match("/(Set-Cookie: )([a-zA-Z0-9-_=]+);/", $result, $matches);
$cookie = str_replace("Set-Cookie: ", "", $matches[0]);
$cookie = str_replace(";", "", $cookie);
echo $cookie;
/* cURL opnieuw starten */
$ch = curl_init();
/* dit keer op de rooster pagina */
curl_setopt($ch, CURLOPT_URL, "http://www.candea.nl/roolookweb/Lrlview.asp");
curl_setopt($ch, CURLOPT_COOKIE, $cookie);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_COOKIESESSION, true);
$result = curl_exec($ch);
curl_close($ch);
/* En laat maar zien wat we hebben */
echo $result;
?>Laatst aangepast door Joshua de Gier : 12-02-2011 om 00:19 Reden: Automatisch samengevoegd.
-
21-05-2011, 20:33 #9
- Berichten
- 208
- Lid sinds
- 15 Jaar
Re: cURL Hulp gevraagt!
Bingo, nog even mee verder gegaan uiteindelijk, en ben erachter gekomen dat je een request moet doen op Lrlvrg.asp met followlocation aan.
Heel erg bedankt voor je hulp Joshua
-
22-05-2011, 09:26 #10
- Berichten
- 1.899
- Lid sinds
- 18 Jaar
Re: cURL Hulp gevraagt!
Graag gedaan, top dat het nog gelukt is.
-
22-05-2011, 09:42 #11
- Berichten
- 208
- Lid sinds
- 15 Jaar
Re: cURL Hulp gevraagt!
Yep, ben nu bezig met het verwerken ervan in een makkelijke en simpele site.
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic