Intr-un articol anterior am oferit un exemplu de utilizare al librariei CURL. O utilizare a librariei CURL, foarte utila, este trimiterea de informatii folosind protocolul HTTP POST. Spre deosebire de exemplul mentionat, apar doua optiuni noi care trebuie setate pentru a trimite datele prin POST: CURLOPT_POST, care spune numarul de variabile transmise si CURLOPT_POSTFIELDS care contine un string cu variabilele si valorile acestora.
Sa vedem un exemplu, ca e mai usor de inteles. Pentru un test practic avem nevoie de doua fisiere, unul care trimite datele (curl.php) si unul care primeste si proceseaza datele (post.php). In cazul nostru cele doua fisiere arata asa:
1. post.php – aici afisam continutul variabilei superglobale $_POST. Practic vom vedea variabilele transmise si valorile acestora intr-o forma usor de citit.
< ?php print_r($_POST); ?> |
2. curl.php – aici trimitem datele prin POST si afisam continutul returnat de fisierul post.php dupa procesare.
< ?php // Afisam datele in mod text, ca sa fie usor de citit header('Content-type:text/plain'); // URL-ul fisierului care asteapta datele $url = 'http://www.lamp.ro/post.php'; // Un array continand trei variabile ce urmeaza a fi trimise $vars = array('a'=>'aaa', 'b'=>'bbb', 'c'=>'ccc'); // Concatenam variabilele, separate de semnul & foreach( $vars as $key=>$value ) { $string .= $key.'='.$value.'&'; } // Initializam sesiunea si trimitem datele $ch = curl_init(); curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_POST,count($vars)); curl_setopt($ch,CURLOPT_POSTFIELDS,$string); curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,2); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); $result = curl_exec($ch); curl_close($ch); // Afisam rezultatul fisierului post.php echo $result; ?> |
Acum putem accesa fisierul curl.php prin browser. Cele trei variabile setate vor fi trimise fisierului post.php care le va afisa iar apoi curl.php, la randul sau, va afisa continutul generat de post.php 🙂
Mersi mult chiar interesant asteptam in contiunuare
No problem. Daca te intereseaza ceva anume, trimite un mail la webmaster AT lamp PUNCT ro si spune-mi ce anume ai vrea sa mai citesti 🙂
Util articolul postat Sergiu..multumim frumo s ca ne tii la curent! Multa bafta in continuare.
asta p stiu de pe un site si am folosit-o la greu, aveam si o functie care verifica dac a curl e instalat
acum vreau sa fac ceva asemanator, dar prin sockets … si e greu de tot