Приклад роботи з бібліотекою curl в php (авторизація на сайті)

Приклад входу на сайт через логін-пароль.

Спочатку витягується від мене вимагається залогуватись з полями логін-пароль і спецполем token. Потім пересилається логін-пароль і токен через POST і витягується сторінка вже після логіна.

/ * Далі встановлюємо опції запиту в будь-якому порядку * /

// Тут встановлюємо URL до якого потрібно звертатися

// Настоянка опцій cookie

// встановлюємо наш варіат клієнта (браузера) і вид ОС

curl_setopt ($ curl, CURLOPT_USERAGENT. "Opera / 10.00 (Windows NT 5.1; U; ru) Presto / 2.2.0");

// Встановіть цю опцію в нульове значення, якщо ви хочете, щоб PHP завершував роботу приховано, якщо повертається HTTP-код має значення вище 300. За замовчуванням сторінка повертається нормально з ігноруванням коду.

// Максимальний час в секундах, яке ви відводите для роботи CURL-функцій.

curl_setopt ($ curl, CURLOPT_POST. 1); // встановлюємо метод POST

// відповідальний момент тут ми передаємо наші змінні

// Встановіть цю опцію в нульове значення, якщо ви хочете, щоб шапка / header відповіді включалася в висновок.

// Увага, важливий момент, сертифікатів, природно, у нас немає, так що все відключаємо

curl_setopt ($ curl, CURLOPT_SSL_VERIFYPEER. 0); // не перевіряти SSL сертифікат

curl_setopt ($ curl, CURLOPT_SSL_VERIFYHOST. 0); // не перевіряти Host SSL сертифікату

curl_setopt ($ curl, CURLOPT_FOLLOWLOCATION. 1); // дозволяємо редіректи

curl_setopt ($ curl, CURLOPT_RETURNTRANSFER. 1);

$ Html = curl_exec ($ curl); // виконуємо запит і записуємо в змінну

curl_close ($ curl); // закінчуємо роботу curl

$ Html = str_get_html ($ html);

// шукаємо в сторінці якийсь authenticity_token і записуємо його в змінну $ token

$ Input = $ inputs [0];

$ Curl = curl_init (); // инициализируем cURL

/ * Далі встановлюємо опції запиту в будь-якому порядку * /

// Тут встановлюємо URL до якого потрібно звертатися

// Настоянка опцій cookie

// встановлюємо наш варіат клієнта (браузера) і вид ОС

curl_setopt ($ curl, CURLOPT_USERAGENT. "Opera / 10.00 (Windows NT 5.1; U; ru) Presto / 2.2.0");

// Встановіть цю опцію в нульове значення, якщо ви хочете, щоб PHP завершував роботу приховано, якщо повертається HTTP-код має значення вище 300. За замовчуванням сторінка повертається нормально з ігноруванням коду.

// Максимальний час в секундах, яке ви відводите для роботи CURL-функцій.

curl_setopt ($ curl, CURLOPT_POST. 1); // встановлюємо метод POST

// відповідальний момент тут ми передаємо наші змінні

// замініть значення your_name і your_pass на відповідні значення Вашого облікового запису

// Встановіть цю опцію в нульове значення, якщо ви хочете, щоб шапка / header відповіді включалася в висновок.

// Увага, важливий момент, сертифікатів, природно, у нас немає, так що все відключаємо

curl_setopt ($ curl, CURLOPT_SSL_VERIFYPEER. 0); // не перевіряти SSL сертифікат

curl_setopt ($ curl, CURLOPT_SSL_VERIFYHOST. 0); // не перевіряти Host SSL сертифікату

curl_setopt ($ curl, CURLOPT_FOLLOWLOCATION. 1); // дозволяємо редіректи

$ Result = curl_exec ($ curl); // виконуємо запит і записуємо в змінну

curl_close ($ curl); // закінчуємо роботу curl

echo $ result; // Виводимо на екран результат виконання

Схожі статті