Curl : Основни функции
Автор: vik96
Наскоро ми трябваше скрипт който да симулира логване на скрипт като потребител и да изпраща „POST“ заявки.Препоръчаха ми „библиотеката“ Curl и ми стана интересно какви са му възможностите.В този урок ще ви покажа основните неща на библиотеката.
Винаги когато използваме Curl трябва да го инициализираме библиотеката с помощта на функцията curl_init:
$data = curl_init();За да добавим опции към извличането на данни използваме curl_setopt();:
bool curl_setopt ( resource $ch , int $option , mixed $value )С опцията CURLOPT_URL задаваме линк от който ще индексираме. Пример:
<?
$data = curl_init();
$link = "http://web-tourist.net";
curl_setopt($data, CURLOPT_URL, $link);
?>Една от главните функции без която не можем да индексираме информацията е curl_exec(). За да работи горният пример трябва да добавим Curl_exec:
<?
$data = curl_init();
$link = "http://web-tourist.net";
curl_setopt($data, CURLOPT_URL, $link);
curl_exec($data);
curl_close($data); // Слага край да $data.
?>Когато използваме тази библиотека задължително трябва да „затворим“ скрипта с Curl_close($promenlive);
При горният код curl_exec ще върне резултат който няма да може да се присвоява на променлива, затова използваме опцията CURLOPT_RETURNTRANSFER:
<?
$data = curl_init();
$link = "http://web-tourist.net";
curl_setopt($data, CURLOPT_URL, $link);
curl_setopt($data, RETURNTRANSFER, true);
$info = curl_exec($data); //Присвояваме информацията от curl_exec на променливата $info
curl_close($data); // Слага край да $data.
echo $info;
?>Една от яките функции на CURL е изпращането на POST заявки. Първо трябва да декларираме ,че ще ползваме POST заявка с
curl_setopt($data, CURLOPT_POST, 1);,а съдържанието на полетата ги добавяме с CURLOPT_POSTFIELDS
<?
$data = curl_init();
$link = "http://web-tourist.net";
curl_setopt($data, CURLOPT_URL, $link);
curl_setopt($data, RETURNTRANSFER, true);
curl_setopt($data, CURLOPT_POST, 1);
curl_setopt($data, CURLOPT_POSTFIELDS, "user=web-tourist&b=parola");
$info = curl_exec($data); //Присвояваме информацията от curl_exec на променливата $info
curl_close($data); // Слага край да $data.
echo $info;
?>В горният пример изпращаме съдържанието на 2 полета (user с държание „web-tourist“ и парола „parola“).


