Maison  >  Article  >  développement back-end  >  Introduction détaillée à la fonction curl de PHP (résumé)

Introduction détaillée à la fonction curl de PHP (résumé)

不言
不言avant
2019-02-14 13:49:039021parcourir

Le contenu de cet article est une introduction détaillée (résumé) de la fonction curl de PHP. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.

Pour utiliser cURL pour envoyer des demandes d'URL, les étapes spécifiques sont grossièrement divisées en quatre étapes suivantes :

1 Initialisation
2. 🎜>3 .Exécutez une session cURL et obtenez des réponses pertinentes
4. Relâchez le handle cURL et fermez une session cURL

Exemple de base de curl :

<?php
// 创建一个新cURL资源
$ch = curl_init();

// 设置URL和相应的选项
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ch, CURLOPT_HEADER, false);

// 抓取URL并把它传递给浏览器
curl_exec($ch);

//关闭cURL资源,并且释放系统资源
curl_close($ch);
?>

Tutoriels pratiques associés recommandés : "PHP utilise CURL pour capturer des pages " , peut être utilisé en ligne !

Introduction détaillée à la fonction curl de PHP (résumé)

résumé de la fonction curl :

  • curl_close — Fermer une session cURL

  • curl_copy_handle — Copier un handle cURL et toutes ses options

  • curl_errno — Revenir au dernier Un numéro d'erreur

  • curl_error — Renvoie une chaîne protégeant l'erreur la plus récente de la session en cours

  • curl_escape — Utilise l'URL pour encoder l'erreur donnée chaîne de caractères

  • curl_exec — Exécuter une session cURL

  • curl_file_create — Créer un objet CURLFile

  • curl_getinfo — Obtenir des informations sur un handle de ressource de connexion cURL

  • curl_init — Initialiser une session cURL

  • curl_multi_add_handle — Ajouter une seule session cURL à une boucle handle de curl de session par lots

  • curl_multi_close — Ferme un ensemble de handles cURL

  • curl_multi_exec — Exécute une sous-connexion du handle cURL actuel

  • curl_multi_getcontent — Si CURLOPT_RETURNTRANSFER est défini, renvoie le flux de texte de la sortie obtenue

  • curl_multi_info_read — Obtenez les informations de transport pertinentes du cURL actuellement analysé

  • curl_multi_init — Renvoie un nouveau handle de lot cURL

  • curl_multi_remove_handle — Supprime une ressource de handle dans la ressource de handle de lot curl

  • curl_multi_select — Attendez les connexions actives dans tous les lots cURL

  • curl_multi_setopt — Définissez une option pour le traitement parallèle cURL

  • curl_multi_strerror — Chaîne de retour décrivant le code d'erreur

  • curl_pause — Mettre en pause et reprendre une connexion

  • curl_reset — Réinitialiser toutes les options d'un handle de session libcurl

  • curl_setopt_array — Définir les options pour une session de transfert cURL en masse

  • curl_setopt — Définir une option de transfert cURL

  • curl_share_close — Ferme un handle de partage cURL

  • curl_share_init — Initialise un handle de partage cURL

  • curl_share_setopt — Définissez une option pour un handle de partage cURL.

  • curl_strerror — Chaîne de retour décrivant le code d'erreur donné

  • curl_unescape — Décode la chaîne codée en URL donnée

  • curl_version — Obtenez des informations sur la version de cURL

Une référence de paramètre

Les valeurs des options suivantes seront utilisées comme entiers longs (spécifié dans le paramètre d'option) :

  • CURLOPT_INFILESIZE : lorsque vous téléchargez un fichier sur le site distant, cette option indique à PHP la taille du fichier que vous avez téléchargé.

  • CURLOPT_VERBOSE : Si vous souhaitez que CURL signale chaque événement inattendu, définissez cette option sur une valeur non nulle.

  • CURLOPT_HEADER : Si vous souhaitez inclure un en-tête dans la sortie, définissez cette option sur une valeur non nulle.

  • CURLOPT_NOPROGRESS : Si vous ne souhaitez pas que PHP affiche une barre de progression pour les transferts CURL, définissez cette option sur une valeur non nulle.

Remarque : PHP définit automatiquement cette option sur une valeur non nulle, vous ne devez modifier cette option qu'à des fins de débogage.

  • CURLOPT_NOBODY : Si vous ne souhaitez pas inclure la partie du corps dans la sortie, définissez cette option sur une valeur non nulle.

  • CURLOPT_FAILONERROR : Si vous souhaitez que PHP ne s'affiche pas lorsqu'une erreur se produit (le code HTTP renvoie supérieur ou égal à 300), définissez cette option sur une valeur non nulle. Le comportement par défaut consiste à renvoyer une page normale et à ignorer le code.

  • CURLOPT_UPLOAD : Si vous souhaitez que PHP prépare le téléchargement, définissez cette option sur une valeur non nulle.

  • CURLOPT_POST : Si vous souhaitez que PHP effectue un HTTP POST régulier, définissez cette option sur une valeur non nulle. Ce POST est du type application/x-www-from-urlencoded ordinaire, principalement utilisé par les formulaires HTML.

  • CURLOPT_FTPLISTONLY : définissez cette option sur une valeur non nulle et PHP répertoriera les noms de répertoires pour FTP.

  • CURLOPT_FTPAPPEND : définissez cette option sur une valeur non nulle et PHP appliquera le fichier distant au lieu de l'écraser.

  • CURLOPT_NETRC : définissez cette option sur une valeur non nulle et PHP recherchera dans votre fichier ~./netrc le nom d'utilisateur et le mot de passe du site distant auquel vous souhaitez vous connecter.

  • CURLOPT_FOLLOWLOCATION : définissez cette option sur un en-tête non nul (comme 'Location: ') et le serveur l'enverra dans le cadre de l'en-tête HTTP (notez que c'est récursif, PHP Un en-tête du formulaire 'Localisation :' sera envoyé).

  • CURLOPT_PUT : définissez cette option sur une valeur non nulle pour télécharger un fichier via HTTP. Pour télécharger ce fichier, les options CURLOPT_INFILE et CURLOPT_INFILESIZE doivent être définies

  • CURLOPT_MUTE : définissez cette option sur une valeur non nulle et PHP sera complètement silencieux pour la fonction CURL.

  • CURLOPT_TIMEOUT : définissez un nombre entier long comme nombre maximum de secondes.

  • CURLOPT_LOW_SPEED_LIMIT : définissez un entier long pour contrôler le nombre d'octets envoyés.

  • CURLOPT_LOW_SPEED_TIME : définissez un entier long pour contrôler le nombre de secondes de transmission du nombre d'octets spécifié par CURLOPT_LOW_SPEED_LIMIT.

  • CURLOPT_RESUME_FROM : transmettez un paramètre long contenant l'adresse de décalage d'octet (le formulaire de démarrage vers lequel vous souhaitez transférer).

  • CURLOPT_SSLVERSION : Passer un paramètre long contenant la version SSL. Par défaut, PHP fera son propre travail, pour plus de sécurité, vous devrez le configurer manuellement.

  • CURLOPT_TIMECONDITION : Passez un paramètre long pour spécifier comment gérer le paramètre CURLOPT_TIMEVALUE. Vous pouvez définir ce paramètre sur TIMECOND_IFMODSINCE ou TIMECOND_ISUNMODSINCE. Ceci est uniquement pour HTTP.

  • CURLOPT_TIMEVALUE : Passez un certain nombre de secondes de 1970-1-1 à maintenant. Cette heure sera utilisée comme valeur spécifiée par l'option CURLOPT_TIMEVALUE, ou par la valeur par défaut TIMECOND_IFMODSINCE.

Les valeurs des options suivantes seront traitées comme des chaînes :

  • CURLOPT_URL : C'est ce que vous souhaitez récupérer en utilisant l'adresse URL PHP. Vous pouvez également définir cette option lors de l'initialisation avec la fonction curl_init().

  • CURLOPT_USERPWD : Passez une chaîne sous la forme de [nom d'utilisateur]:[mot de passe] et utilisez PHP pour vous connecter.

  • CURLOPT_PROXYUSERPWD : Passez une chaîne au format [nom d'utilisateur]:[mot de passe] pour vous connecter au proxy HTTP.

  • CURLOPT_RANGE : transmettez une plage que vous souhaitez spécifier. Il doit être au format « X-Y », X ou Y étant exclus. Les transferts HTTP prennent également en charge plusieurs intervalles, séparés par des virgules (X-Y, N-M).

  • CURLOPT_POSTFIELDS : Transmettez une chaîne contenant toutes les données sous forme d'opération HTTP "POST".

  • CURLOPT_REFERER : Une chaîne contenant un en-tête 'referer' dans la requête HTTP.

  • CURLOPT_USERAGENT : Une chaîne contenant un en-tête 'user-agent' dans la requête HTTP.

  • CURLOPT_FTPPORT : Transmettez une adresse IP contenant l'adresse IP utilisée par la commande ftp 'POST'. Cette commande POST indique au serveur distant de se connecter à l'adresse IP que nous avons spécifiée. Cette chaîne peut être une adresse IP, un nom d'hôte, un nom d'interface réseau (sous UNIX) ou '-' (utilisez l'adresse IP par défaut du système).

  • CURLOPT_COOKIE : Passe un en-tête contenant un cookie HTTP à la connexion.

  • CURLOPT_SSLCERT : Passer une chaîne contenant le certificat au format PEM.

  • CURLOPT_SSLCERTPASSWD : Passez un mot de passe contenant le mot de passe nécessaire pour utiliser le certificat CURLOPT_SSLCERT.

  • CURLOPT_COOKIEFILE : Transmettez une chaîne contenant le nom du fichier contenant les données du cookie. Ce fichier cookie peut être au format Netscape ou il peut s'agir d'une pile d'en-têtes de style HTTP stockés dans le fichier.

  • CURLOPT_CUSTOMREQUEST : Lors d'une requête HTTP, transmettez un caractère à utiliser par GET ou HEAD. Passez une chaîne à utiliser à la place de GET ou HEAD lors de l'exécution d'une requête HTTP. Ceci est utile pour effectuer une autre requête HTTP plus obscure.

Remarque : Ne faites pas cela avant d'avoir confirmé que votre serveur prend en charge la commande.

  • Les options suivantes nécessitent une description de fichier (obtenue à l'aide de la fonction fopen()) :

  • CURLOPT_FILE : Ce Le fichier sera le fichier de sortie que vous avez envoyé. La valeur par défaut est STDOUT.

  • CURLOPT_INFILE : Ce fichier est le fichier d'entrée que vous avez envoyé.

  • CURLOPT_WRITEHEADER : Ce fichier contient la partie en-tête de votre sortie.

  • CURLOPT_STDERR : Ce fichier a une erreur écrite à la place de stderr.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer

Articles Liés

Voir plus