Utiliser cURL avec Scriptol et PHP
cURL est une librarie de transfert de fichiers sur Internet ou autre réseau, permettant de les envoyer ou les recevoir selon tous les protocoles actuels (http, ftp, ldap).
C'est une alternative à fsockopen. Il est implémenté en PHP et utilisable en C et C++.
Tester la disponibilité de cURL sur un hébergement web
La fonction phpinfo() affiche les libraires actives sur un serveur.
Installer le script suivant sur votre hébergement:
<?php echo phpinfo();?>
Si cURL est activé, une table comme celle-ci sera affichée:

Activer cURL sous le serveur local (par exemple Xampp)
cURL n'est pas activé par défault, il faut le faire manuellement. Le menu dispose d'une commande pour ce faire, mais elle n'agit que sur la configuration de PHP sans le répertoire Apache.
Deux installations de PHP sont incluse dans Xampp et il faut modifier le fichier PHP.INI des deux:
c:\xampp\php\php5.3.0\php.ini
c:\xampp\apache\Apache2.2.11\bin\php.ini
La ligne suivante doit être dé-commentée dans les deux:
extension=php_curl.dll
Vérifier que vous avez les libraires libeay32.dll et ssleay32.dll.
Code Scriptol
Une interface aux fonctions PHP est disponible dans l'archive (voir en bas de page):
extern
dyn curl_init(cstring curlopt = null)
boolean curl_setopt(dyn, int, dyn)
dyn curl_exec(dyn)
void curl_close(dyn)
array curl_version()
constant int CURLOPT_URL // pass URL
constant int CURLOPT_CONNECTTIMEOUT // limit waiting time forever
constant int CURLOPT_UPLOAD // send file
/extern
Il y a de nombreuses autres variables, que l'on définira soi-même en fonction de ses besoins avec des lignes comme ceci:
constant int CURLOPT_xxx
Deux scripts sont inclus dans l'archive:
curl-check.sol : vérifie la disponibilité de cURL, affiche la version et les fonctions disponibles.
curl-demo.sol : lit un flux RSS sur un serveur distant.
Code PHP
On utilise cURL en ouvrant une session avec curl_init() et en indiquant le type d'opération à réaliser avec curl_setopt().
curl_exec() lance l'exécution et la session est close avec curl_close().
Le manuel PHP décrit avec des exemples l'utilisation de cURL et indique toutes les options possibles.
Utiliser cURL avec le lecteur RSS
Comme cela est apparu dans le forum, il arrive que le serveur d'un hébergement mutualisé ne permette pas l'accès à un autre site, et si l'on veut intégrer un flux RSS, ce qui est impossible avec DOMDocument->load ou fsockopen devient possible avec cURL.
On remplacera cette ligne dans la fonction RSS_retrieve:
$doc->load($url);
par :
$hnd = curl_init();
curl_setopt($hnd, CURLOPT_CONNECTTIMEOUT, 300);
curl_setopt($hnd, CURLOPT_URL, $url);
$data = curl_exec($hnd);
curl_close($hnd); $doc->loadXML($data);
Voir Lecteur RSS.
Téléchargement
|
|
|
