Maison > interface Web > js tutoriel > Plusieurs exemples d'application classiques de CURL dans les compétences PHP_javascript

Plusieurs exemples d'application classiques de CURL dans les compétences PHP_javascript

WBOY
Libérer: 2016-05-16 16:18:22
original
1530 Les gens l'ont consulté

1. Étapes de base de la requête cURL :

(1)Initialisation
(2) Définir les options, y compris l'URL
(3) Exécuter et obtenir le contenu du document HTML
(4) Relâchez la poignée cURL

Copier le code Le code est le suivant :

//1. Initialisation
$ch = curl_init();

//2. Définir les options, y compris l'URL
curl_setopt($ch, CURLOPT_URL, "http://www.cnblogs.com/it-cen/");

//Renvoyer les informations obtenues par curl_exec() sous la forme d'un flux de fichier au lieu de les sortir directement
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

//Les informations du fichier d'en-tête seront affichées sous forme de flux de données au démarrage
curl_setopt($ch, CURLOPT_HEADER, 1);

//3. Exécuter et obtenir le contenu du document HTML
curl_exec($ch);

//4. Poignée de relâchement
curl_close($ch);

echo $ch;

?>

Remarque : La deuxième étape est la plus importante, qui est la fonction curl_setopt()

Nous pouvons ajouter une instruction pour vérifier les erreurs. Notez que "===false" est utilisé ici pour faire la distinction entre la sortie vide et la valeur booléenne false

Copier le code Le code est le suivant :

$output = curl_exec($ch);

Si ($output === false) {
              echo "Erreur cURL :".curl_error($ch);
>

La fonction curl_getinfo() renvoie des informations relatives à cette requête après l'exécution de cURL, ce qui est utile pour le débogage et le dépannage :

Copier le code Le code est le suivant :

curl_exec($ch);
$info = curl_getinfo($ch);
echo '
';<br>
          print_r($info);                                                   
echo '
';

Données renvoyées


Tableau
(
[url] => http://www.cnblogs.com/it-cen/
[content_type] => texte/html; charset=utf-8
[http_code] =>200
[header_size] => 312
[request_size] =>61
[heure du fichier] => -1
[ssl_verify_result] =>0
[redirect_count] =>0
[temps_total] => 0,172
[namelookup_time] => 0,016
[connect_time] => 0,063
[pretransfer_time] => 0,063
[size_upload] =>0
[size_download] => 14658   //Taille des données demandées
[speed_download] => 85220 
[speed_upload] =>0
[download_content_length] => 14658
[upload_content_length] =>0
[starttransfer_time] => 0,125
[redirect_time] =>0
[certinfo] => Tableau
(
)

[url_redirection] =>
)


2. Ces informations sont très utiles pour le débogage

Par exemple, lorsque cURL est en cours d'exploration, les données analysées peuvent souvent être incomplètes en raison du réseau et d'autres raisons. calcule la taille du fichier, puis la compare avec celle obtenue par curl_getinfo(). Si les tailles sont égales, le téléchargement est considéré comme correct, sinon le téléchargement est répété. Regardons un exemple de capture d'une image :


Copier le code Le code est le suivant :

header("Type de contenu : image/png");

//1. Initialisation
$ch = curl_init();

//2. Définir les options, y compris l'URL
curl_setopt($ch, , CURLOPT_URL, "http://img04.taobaocdn.com/tfscom/TB1omaTHXXXXXajXVXXtKXbFXXX.png");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 1);

//3. Exécuter et obtenir du contenu
$res = curl_exec($ch);

//Obtenir des informations
$info = curl_getinfo($ch);

//4. Libérer les ressources
curl_close($ch);

file_put_contents("d:/aa.png", $res);

$size = filesize("d:/aa.png");

if ($size != $info['size_download']) {
echo "Les données téléchargées sont incomplètes, veuillez les télécharger à nouveau";
} autre {
             echo "Le téléchargement des données est terminé" ;
>


?>

3. Utilisez la méthode POST pour envoyer des données dans cURL

Copier le code Le code est le suivant :

$ch = curl_init();

$data = array('name'=>'kelly', 'age'=>27, 'sex'=>1);

curl_setopt($ch, CURLOPT_URL, "http://localhost.post.php");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

// Prêt à publier
curl_setopt($ch, CURLOPT_POST, 1);
//Ajouter
à la variable de publication curl_setopt($ch, CURLOPT_POSTFIELDS,$data);

$res = curl_exec($ch);

curl_close($ch);

echo $res;


?>

Utilisez cette méthode pour simuler le fait de laisser un message, ou vous pouvez vous asseoir sur un robot remplissant d'eau. L'idée est la même

4. Téléchargez des fichiers en utilisant cURL

Copier le code Le code est le suivant :

//Demander des données téléchargées
$data = array('name'=>'beauty', "upload"=>"@a.zip");

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "http://127.0.0.1/Socket/upload_file.php");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

$res = curl_exec($ch);

curl_close($ch);

echo $res;

?>

Remarque : lors de l'envoi d'un fichier, préfixez le nom du fichier par @ et utilisez le chemin complet

5. Éléments de réglage cURL

En fait, cURL dispose de nombreuses options de configuration. Ces options sont l'âme de cURL. Elles sont définies via setopt(). Voici un résumé de plusieurs éléments de configuration courants et importants. utilisez cURL à l'avenir. Aide :


CURLOPT_AUTOREFERER : lors d'une redirection basée sur l'emplacement :, définissez automatiquement les informations Referer : dans l'en-tête

CURLOPT_COOKIESESSION : lorsqu'il est activé, cURL transmettra étroitement un cookie de session et ignorera les autres cookies

CURLOPT_HEADER : affiche les informations du fichier d'en-tête sous forme de flux de données

CURLOPT_INFILESIZE : définissez la taille du fichier téléchargé en octets

CURLOPT_MAXCONNECTS : Nombre maximum de connexions autorisées

CURLOPT_MAXREDIRS : Spécifiez le nombre maximum de redirections HTTP

CURLOPT_COOKIE : Définissez le contenu de la partie "cookie :" de la requête HTTP. Plusieurs cookies sont suivis d'un point-virgule, et il y a un espace après le point-virgule

.

CURLOPT_POSTFIELDS : Toutes les données sont envoyées à l'aide de l'opération "POST" dans le protocole HTTP. Pour envoyer des fichiers, ajoutez le préfixe @ devant le nom du fichier et utilisez le chemin complet

.

......

Veuillez vous référer au manuel PHP pour des éléments de configuration plus spécifiques

cURL est très puissant. C'est une bibliothèque universelle et n'est pas propre à PHP.

J'espère que les lecteurs gagneront quelque chose en étudiant plusieurs exemples classiques de cURL dans cet article de blog.

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal