Я знаю досить багато прикладів, де для отримання сторонніх web-сторінок (парсери) використовувалися зовсім інші способи. відмінні від cURL. наприклад:
Чому розробники використовували їх і що в них не так? А тому, що не знали, або не хотіли знати, що таке cURL. А не так в них те, що функціонал обмежений. отримали сторінку і все на цьому, в той час, як cURL може відправити форму на сторінці, отримати відповідь, обробити помилку, почати все занова і т.д.
При використанні cURL-запитів існує 4 основні кроки, які повинні (зобов'язані) бути у вашому скрипті, це:
- ініціалізація
- призначення параметрів
- Виконання і вибірка результату
- звільнення пам'яті
Без будь-якого з цих кроків ваш скрипт приречений на невдачу. Отже, основні кроки:
Думаю що всі кроки вам зрозумілі за винятком другого: "Вказівки параметрів". На цьому кроці ми зупинимося більш детально, тому що саме він задає всі необхідні настройки / параметри / методи.
Щоб не навантажувати сервер подальшими обчислень, завжди перевіряйте результат виконання функції curl_exec:
Зазначу, що знак порівняння тут '===', а не '==', тобто порівнюється саме на наявність логічного FALSE, а не порожнього рядка або рядка 'false'.
Ну а після того, як CURL-запит був виконаний, непогано б було знати, що він повернув:
А ось які ще дані ми можемо отримати:
Давайте напишемо наш перший скрипт, який відправить дані методом POST на якусь сторінку і подивиться, що відобразилося на цій сторінці.
Тепер спробуємо передати туди якісь дані:
Результат можна подивитися тут: curl_post.php
Сенс тут абсолютно такий же, як і в запиті POST.
Тепер спробуємо передати туди якісь дані:
Результат можна подивитися тут: curl_post_file.php
Завантаження файлу - це той же самий POST-запит, однак перед шляхом до файлу стоїть знак "@", що і позначає, що потрібно це передати не як $ _POST, а як $ _FILES.
Досить корисна штука.