Potrzebuję zastosować curl-a do odwiedzenia pewnego serwisu i pobrania z niego danych o produktach. Z tym że najpierw muszę się do niego zalogować no a potem pobrać dane o kategoriach i znajdujących się w nich produktach, więc będzie trochę odwołań pod różne adresy. No i teraz związane z tym pytanie.
Czy przy odwoływaniu się po różne adresy muszę za kazdym razem wywoływać curl_init oraz potem zamykać to połaczenie
$c = curl_init('adres'); .... curl_close($c);
czy też mogę zmieniać poprostu URL, potem wywołac curl_exec i tak w koło np.
private function curlExec($url,$login = false,$close = false) { if($login === true) { $postFields['userLogin'] = 'login'; $postFields['userPassword'] = 'haslo'; $this->handler = curl_init(); curl_setopt($this->handler, CURLOPT_POSTFIELDS, $postFields); } curl_setopt($this->handler, CURLOPT_URL, $url); curl_setopt($this->handler, CURLOPT_COOKIEJAR, $cookie_file); curl_setopt($this->handler, CURLOPT_COOKIEFILE, $cookie_file); curl_setopt($this->handler, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12"); curl_setopt($this->handler, CURLOPT_RETURNTRANSFER, 1); $data = curl_exec($this->handler); if($close === true) curl_close($this->handler); return $data; } $this->curlExec('http://adres/login',true); $this->curlExec('http://adres/kategorie'); $this->curlExec('http://adres/produkt1'); $this->curlExec('http://adres/produkt2'); //.... $this->curlExec('http://adres/produktN',false,true);