Заметки разработчика
472 subscribers
669 photos
4 videos
1.16K links
Заметки о Frontend, Backend и немного DevOps. В основном о #PHP, #Laravel, #JavaScript, #HTML, #CSS, тестировании и настройке серверов.

https://www.dev-notes.ru

@snakenf
Download Telegram
#DevOps #curl #shell

Примеры использования cURL

Независимо от того, разработчик ли вы, DevOps-инженер, системный администратор, QA или представитель любой другой технической профессии, вы наверняка знакомы с cURL — инструментом командной строки и библиотекой для передачи данных с помощью URL (как описано в документации).

Однако чаще всего curl используется только для простых задач, таких как загрузка файла или проверка доступности сайта, а ведь он может гораздо больше!

И в этой статье рассмотрим именно такие крутые примеры и трюки, демонстрирующие, почему curl является удивительным и недооценённым инструментом…

📄 Читать статью

@dev_notes_ru
👍1
👩‍💻 PHP 8.4: Curl: curl_getinfo - поддержка CURLINFO_POSTTRANSFER_TIME_T

Функция curl_getinfo в расширении Curl возвращает список информации о запросе Curl. Также можно передать параметр в функцию, чтобы получить конкретную информацию о запросе.

Начиная с версии Curl 8.10.0, Curl может возвращать время, прошедшее с момента начала запроса до отправки последнего байта (иначе называемое post time). Это может быть удобным способом измерением длительности в некоторых запросах, таких как загрузка файла в удалённую HTTP-форму, загрузка файла по FTP и т.д.

PHP 8.4 предоставляет эту возможность, если в системе установлена libcurl 8.10.0 или более поздняя версия. Длительность запроса можно получить в виде ключа posttransfer_time_us в возвращаемом значении curl_getinfo или передав новую константу CURLINFO_POSTTRANSFER_TIME_T в функцию curl_getinfo.

🖥 Читать статью

📱 @dev_notes_ru

#PHP #PHP84 #Curl #features
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 PHP 8.4: Curl: Новая опция CURLOPT_PREREQFUNCTION

Расширение Curl в PHP 8.4 представляет новую опцию CURLOPT_PREREQFUNCTION, позволяющую задать пользовательский callable для принятия решения о продолжении или прерывании запроса. Эта возможность доступна, если расширение собрано с libcurl 7.80.0 или более поздней версии.

Обратный вызов CURLOPT_PREREQFUNCTION вызывается после установления начального соединения и перед отправкой запроса. Например, при запросе HTTPS обратный вызов CURLOPT_PREREQFUNCTION вызывается после установления HTTPS-соединения (DNS + TCP + TLS), перед отправкой фактического HTTP-запроса.

Этот обратный вызов может быть удобен в ситуациях, когда приложению необходимо определить, следует ли обрабатывать соединение в зависимости от IP-адреса и порта источника и получателя.

🖥 Читать статью

📱 @dev_notes_ru

#PHP #PHP84 #Curl #features
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 PHP 8.4: Curl: Новая опция CURLOPT_TCP_KEEPCNT

Расширение PHP 8.4 Curl представляет новую опцию Curl с названием CURLOPT_TCP_KEEPCNT, устанавливающую максимальное количество запросов TCP keep-alive.

По умолчанию значение опции равно 9, но с помощью CURLOPT_TCP_KEEPCNT можно увеличить или уменьшить максимальное количество зондов keep-alive.

Опция принимает любое значение int, равное 0 или выше. Попытка установить недопустимое значение приводит к тому, что вызов curl_setopt возвращает false.

🖥 Читать статью

📱 @dev_notes_ru

#PHP #PHP84 #Curl #features
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 PHP 8.4: Curl: Новая опция CURLOPT_DEBUGFUNCTION

Curl предоставляет опцию CURLOPT_DEBUGFUNCTION для установки пользовательской функции обратного вызова, вызываемой вместо стандартной функции вывода сообщений.

Когда выполняется запрос Curl, настройка подробного вывода выводит дополнительную отладочную информацию в течение всего времени выполнения запроса, что может быть удобно для отладки неудачных запросов Curl или для ведения лога запросов Curl.

Curl также предоставляет опцию CURLOPT_DEBUGFUNCTION для установки пользовательской функции обратного вызова, вызываемой вместо стандартной функции вывода сообщений. Когда приложению требуется больше контроля над обработкой подробной отладочной информации, эта опция может быть полезна.

Расширение PHP 8.4 Curl предоставляет эту опцию libcurl как опцию CURLOPT_DEBUGFUNCTION (для curl_setopt), принимающую значение PHP callable.

Обратный вызов вызывается несколько раз во время запроса Curl, и обратный вызов может решить, что делать с этой информацией.

🖥 Читать статью

📱 @dev_notes_ru

#PHP #PHP84 #Curl #features
Please open Telegram to view this post
VIEW IN TELEGRAM
🚀 PHP 8.5 получает новую Curl-функцию — curl_multi_get_handles

В свежем релизе PHP 8.5 расширение Curl обзавелось полезным обновлением: теперь можно напрямую получить список всех CurlHandle, добавленных в CurlMultiHandle. Раньше для этого приходилось вручную вести массивы или использовать WeakMap.

Функция упрощает работу с множественными curl-запросами и делает мульти-обработку предсказуемее и удобнее.

🖥 Читать статью

📱 @dev_notes_ru

#PHP #PHP85 #cURL
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
🚀 PHP 8.5: `curl_close()` и `curl_share_close()` объявлены устаревшими

Если ваши логи в PHP 8.5 заполонили предупреждения об устаревании curl_close() — не игнорируйте их. Это не просто формальность. Эти функции стали полностью бесполезными ещё с PHP 8.0, и их вызов теперь — лишь шум в логах.

Всё потому, что в PHP 8.0 cURL-дескрипторы превратились в полноценные объекты, которыми теперь управляет сборщик мусора. А в PHP 8.5 от этих пустых функций-«пустышек» окончательно решили избавиться.

📌 Что нужно знать:
Замените curl_close() на unset($ch)
Для совместимости с PHP < 8.0 используйте условные проверки
curl_multi_close() остаётся рабочей

🖥 Читать статью

📱 @dev_notes_ru

#PHP #PHP85 #cURL
Please open Telegram to view this post
VIEW IN TELEGRAM