Comment utiliser curl en php ? L'article suivant résumera l'utilisation de curl en php. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il sera utile à tout le monde.
1. Introduction au curl
L'explication donnée par l'Encyclopédie Baidu est la suivante : artefact de transmission de données. Alors, où est son artefact ? Après avoir recherché les informations, j'ai découvert que curl peut utiliser la syntaxe URL pour simuler un navigateur afin de transmettre des données. Parce qu'il simule un navigateur, il prend en charge une variété de protocoles réseau. Prend actuellement en charge les protocoles http, https, ftp, gopher, telnet, dict, file et ldap. libcurl prend également en charge l'authentification HTTPS, HTTP POST, HTTP PUT, le téléchargement FTP (cela peut également être effectué via l'extension FTP de PHP), le téléchargement basé sur un formulaire HTTP, le proxy, les cookies et l'authentification par nom d'utilisateur + mot de passe.
La méthode la plus couramment utilisée en PHP est curl pour simuler les requêtes get et post.
2. Utilisation
(1) Si vous souhaitez utiliser curl, la première étape consiste à activer curl en php et à le trouver dans le fichier de configuration php php. ini extension=php_curl.dll, supprimez le ';' devant. Redémarrez le serveur. Utilisez phpinfo() pour imprimer le code php et constatez que la description curl dans l'image est ouverte avec succès.
(2) L'utilisation de curl pour compléter des requêtes simples est principalement divisée en quatre étapes principales :
Initialisation et création d'une nouvelle ressource curl.
Définissez l'URL et les options correspondantes
Récupérez l'URL et transmettez-la au navigateur
Fermez la ressource curl. Libérer des ressources.
par exemple :
<?php // 创建一个新cURL资源 $ch = curl_init(); // 设置URL和相应的选项 $options = array(CURLOPT_URL => 'http://www.example.com/', CURLOPT_HEADER => false ); curl_setopt_array($ch, $options); // 抓取URL并把它传递给浏览器 curl_exec($ch); // 关闭cURL资源,并且释放系统资源 curl_close($ch); ?>
3. fonction curl
curl_close — fermer une session cURL
curl_copy_handle — Copie un handle cURL et toutes ses options
curl_errno — Renvoie le dernier numéro d'erreur
curl_error — Renvoie un chaîne protégeant l'erreur la plus récente de la session en cours
curl_escape — L'URL encode la chaîne donnée
curl_exec — Exécute 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 des poignées curl individuelles à une session curl batch
curl_multi_close — Fermer une session cURL Grouper les poignées cURL
curl_multi_exec — Exécute une sous-connexion du handle cURL actuel
curl_multi_getcontent — Si CURLOPT_RETURNTRANSFER est défini, renvoie le texte de la sortie récupérée stream
curl_multi_info_read — Obtenez des informations de transport pertinentes pour le cURL actuellement analysé
curl_multi_init — Renvoie un nouveau handle de lot cURL
curl_multi_remove_handle — Supprimer une ressource de handle dans la ressource de handle du lot curl
curl_multi_select — Attendre toutes les connexions actives dans le lot cURL
curl_multi_setopt — Définir une option pour le traitement parallèle cURL
curl_multi_strerror — Chaîne de retour décrivant le code d'erreur
curl_pause — Suspendre et reprendre une connexion
curl_reset — Réinitialise toutes les options pour un handle de session libcurl
curl_setopt_array — Définit les options en masse pour une session de transfert cURL
curl_setopt — Définir une option de transfert cURL
curl_share_close — Fermer un handle de partage cURL
curl_share_init — Initialiser une cURL share handle
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 encodée d'URL donnée
curl_version — Obtenez les informations sur la version de cURL
4 . Exemples
1. Utilisez curl et obtenez pour obtenir des données
<?php $url = 'http://www.example.com'; //初始化一个 cURL 对象 $ch = curl_init(); //设置你需要抓取的URL curl_setopt($ch, CURLOPT_URL, $url); // 设置cURL 参数,要求结果保存到字符串中还是输出到屏幕上。 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //是否获得跳转后的页面 curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); $data = curl_exec($ch); curl_close($ch); echo $data; ?>
2. Utilisez curl et post pour obtenir des données
<?php function curl_post($url, $arr_data){ $post_data = http_build_query($url_data); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFLELDS, $post_data); $data = curl_exec($ch); curl_close($ch); echo $data; } $arr_post = array( 'name'=>'test_name', 'age' => 1 ); curl_post("http://www.explame.com/", $arr_post); ?>
3. page
Pourquoi utiliser un proxy pour explorer ? Prenons l'exemple de Google. Si vous capturez les données de Google très fréquemment sur une courte période de temps, vous ne pourrez pas les capturer. Lorsque Google restreint votre adresse IP, vous pouvez modifier le proxy et explorer à nouveau.
<?php $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "http://google.com"); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //是否通过http代理来传输 curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, TRUE); curl_setopt($ch, CURLOPT_PROXY, 125.21.23.6:8080); //url_setopt($ch, CURLOPT_PROXYUSERPWD, 'user:password');如果要密码的话,加上这个 $result=curl_exec($ch); curl_close($ch); ?>
4. Continuez à maintenir l'appel de session de ce site
Dans le cas d'une connexion utilisateur synchrone, la session doit être partagée Si vous souhaitez continuer à maintenir la session de ce site. site, alors l'identifiant de session doit être placé dans http Requesting
<?php $session_str = session_name().'='.session_id().'; path=/; domain=.explame.com'; session_write_close(); //将数据写入文件并且结束session $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_COOKIE, $session_str); $ret = curl_exec($ch); curl_close($ch); ?>
end
Cet article est reproduit à partir de : https://blog.csdn.net/longgeaisisi/article/details/ 89330576
Apprentissage recommandé : Tutoriel vidéo PHP
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!