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“).

Вашият коментар