Curl

Dev back

How to Send HTTP GET and POST Request to a REST API using cURL command in Linux?

Cet article explique comment utiliser la commande cURL dans Linux pour envoyer des requêtes HTTP GET et POST à une API REST. Il décrit cURL comme un outil essentiel pour les développeurs Java et Spring, permettant de tester des services Web RESTful, d'effectuer des authentifications et d',enregistrer des cookies. De plus, il propose d'utiliser cURL pour réaliser des scripts shell afin d'effectuer des vérifications de santé des services Web.

Dev front

Front End Debugging Part 3: Networking

Cet article aborde les techniques de débogage des problèmes de communication réseau pour les développeurs front-end. Il met en avant l'utilisation des outils de développement intégrés dans les navigateurs modernes comme Chrome et Firefox, qui permettent d'analyser les requêtes et les réponses HTTP de manière efficace. Les fonctionnalités telles que le suivi des requêtes, le contrôle de la bande passante et la possibilité de modifier et de renvoyer des requêtes directement depuis le navigateur sont expliquées. L'article souligne également l'importance de la gestion des états dans le stockage local pour la reproduction des bugs.

"
Dev back

PHP 8.4: Curl: New `CURLOPT_TCP_KEEPCNT` option

La version 8.4 de PHP introduit une nouvelle option dans l'extension Curl, `CURLOPT_TCP_KEEPCNT`, qui permet de définir le nombre maximum de probes TCP keep-alive. Cette option offre une meilleure gestion des connexions TCP et est compatible avec libcurl 8.9.0 ou supérieure, mais ne peut pas être rétro-portée vers les anciennes versions de PHP.

"
Dev back

PHP 8.4: Curl: New `CURLOPT_SERVER_RESPONSE_TIMEOUT` option to replace `CURLOPT_FTP_RESPONSE_TIMEOUT`

La nouvelle option `CURLOPT_SERVER_RESPONSE_TIMEOUT` dans l'extension Curl de PHP 8.4 permet de définir un délai d'attente pour la réponse d'un serveur, applicable à plusieurs protocoles. Bien que cette option soit introduite pour remplacer `CURLOPT_FTP_RESPONSE_TIMEOUT`, la compatibilité avec les versions antérieures est maintenue. Cela a pour but de renforcer l'efficacité et la gestion des délais d'expiration dans les applications PHP utilisant Curl.

"
Dev back

PHP 8.4: Curl: New `CURLOPT_DEBUGFUNCTION` option

La version PHP 8.4 introduit une nouvelle option CURLOPT_DEBUGFUNCTION pour Curl, permettant d'émettre des informations de débogage supplémentaires durant les requêtes Curl. Cette option offre la possibilité de définir une fonction de rappel personnalisée pour traiter ces informations, permettant un meilleur contrôle sur la façon dont les informations de débogage sont gérées, en plus des constantes ajoutées pour indiquer le type de données transmises.

"
Dev back

PHP 8.4: Curl: New `CURLOPT_PREREQFUNCTION` option

La version PHP 8.4 introduit une nouvelle option dans l'extension Curl, appelée `CURLOPT_PREREQFUNCTION`, qui permet de définir un rappel pour décider si une requête doit être poursuivie ou abandonnée après l'établissement de la connexion initiale. Cette fonctionnalité est utile pour éviter les requêtes sur des adresses IP intranet ou des pays sanctionnés. Trois nouvelles constantes sont également ajoutées pour faciliter cette gestion. Cette fonctionnalité nécessite une version de libcurl 7.80.0 ou supérieure et ne peut pas être rétroportée à des versions PHP antérieures.

"
Dev back

PHP 8.4: Curl: `curl_getinfo` - `CURLINFO_POSTTRANSFER_TIME_T` support

PHP 8.4 introduit des améliorations pour la fonction `curl_getinfo`, permettant de récupérer le temps d'envoi des données avec l'option `CURLINFO_POSTTRANSFER_TIME_T`, si le système utilise libcurl 8.10.0 ou supérieur. La fonction renvoie un tableau d'informations sur la requête, incluant un nouvel élément indiquant le temps d'envoi en microsecondes. Cette mise à jour permet des mesures plus précises lors de l'upload de fichiers à distance, malgré un impact théorique minimal sur la compatibilité avec les versions antérieures de PHP tant que la Curl extension est utilisée correctement.

"
Dev back

PHP 8.4: Curl: `CURLOPT_DNS_USE_GLOBAL_CACHE` no longer has any effect

La version PHP 8.4 ne permet plus l'utilisation de l'option CURLOPT_DNS_USE_GLOBAL_CACHE dans l'extension Curl, en raison de problèmes de sécurité liés à la non-sécurité des threads. PHP émettra un avertissement pour les constructions thread-safe empêchant cette option. Il est conseillé de partager le cache DNS entre les requêtes en utilisant des objets spécifiques et en s'appuyant sur le résolveur DNS du système pour une compatibilité et une gestion standard du cache.

"
Dev back

PHP 8.4: Curl: `curl_version()` `feature_list` support

La version 8.4 de PHP apporte une amélioration significative à l'extension Curl en introduisant une nouvelle clé dans la fonction `curl_version()`. Cette clé fournit une liste lisible des fonctionnalités disponibles, indiquant si elles sont supportées ou non. Cela simplifie la vérification du support de certaines fonctionnalités comme HTTP/3. De plus, la version minimale requise de libcurl passe à 7.61.0, rendant les fonctionnalités de Curl plus accessibles aux développeurs.