Чимало корисних можливостей дає розширення cURL, які можна використовувати для реалізації різних мережевих інструментів і не тільки. Сьогодні cURL використовують всі по різному, для добрих і не дуже справ. Вся справа в його зручність і можливості використання його у різних ситуаціях, де потрібно яким-небудь чином відправляти і отримувати дані віддалено, без ручного участі користувача. Розглянемо простий приклад, як можна зробити авторизацію на сайті.

Спочатку, перед тим як щось програмувати нам потрібно дещо уточнити.
1. Дізнатися посилання до скрипта авторизації, який буде відповідати на запити.
2. Дізнатися імена полів, відправляються скрипту, традиційно це поля логіна і пароля.
3. Ваш робочий логін і пароль.

Потім приступаємо до прикладу:

// URL скрипта авторизації
$login_url = ‘http://exampe.com/login.php’;
// параметри для відправки запиту – логін і пароль
$post_data = ‘login=ваш_логін&password=ваш_пароль’;
// створення об’єкта curl
$ch = curl_init();
// використовуємо User Agent браузера
$agent = $_SERVER[“HTTP_USER_AGENT”];
curl_setopt($ch, CURLOPT_USERAGENT, $agent);
// задаємо URL
curl_setopt($ch, CURLOPT_URL, $login_url );
// вказуємо що це POST запит
curl_setopt($ch, CURLOPT_POST, 1 );
// задаємо параметри запиту
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
// вказуємо, щоб нам повернулося вміст після запиту
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// у разі необхідності, слідувати за перенаправлени¤м
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
/*
Задаємо параметри збереження¤ cookie
як правило Cookie необхідні для подальшої роботи з авторизацією
*/
curl_setopt($ch, CURLOPT_COOKIEJAR, ‘cookie.txt’);
curl_setopt($ch, CURLOPT_COOKIEFILE, ‘cookie.txt’);
// виконуємо запит авторизації
$postResult = curl_exec($ch);

Після виконання функції curl_exec буде виконано запит з параметрами авторизації, вміст сторінки відповіді буде знаходитися у змінній $postResult.
Опція CURLOPT_COOKIEFILE вказує файл, в якому будуть зберігатися дані cookies отримані після успішного виконання запиту на авторизацію. Так само слід переконатися в наявності прав PHP для створення і запису файлу.

Всі наступні запити після успішної авторизації можуть виконуватися з допомогою цих функцій:

curl_setopt($ch, CURLOPT_URL, $url);
curl_exec($ch);

До речі, для налагодження зручно використовувати консоль браузера Firefox і Chrome для відкриття служить клавіша F12. Відкривши вкладку «мережа» можна переглянути параметри, що відправляються на заданий URL і відповідь сервера.

Додав: htmaker, 08.08.2015 р.
(3 голосів, середній: 4,33 з 5)

Завантаження…

Діліться з друзями:

См. також:


Пісочниця для PHP
Рубрика: PHP, Інструменти

Конфіг файли
Рубрика: PHP

Установка XCache в Linux CentOS
Рубрика: Linux, PHP

Використання SOAP в PHP
Рубрика: PHP

Встановлення PHP Soap на CentOS
Рубрика: Linux, PHP

Обсяг даних в зручному форматі на PHP
Рубрика: PHP

Транслітерація символів на PHP
Рубрика: PHP

Як перетворити URL-рядок в масив?
Рубрика: PHP

Добірка шаблонів регулярних виразів
Рубрика: PHP

Коментарі

  • Микола пише:
    18.08.2016 в 14:18

    Спасибі !

    Відповісти