Page 1 sur 1

php : curl ne fonctionne pas

Publié : 30 sept. 2018, 19:08
par papoo
Bonjour,
sur un site wordpress, j'ai créé un script php contenant une requete mysql pour extraire le nombre d'utilisateurs de ce site.
Cela fonctionne correctement.
dans le même fichier, je souhaite ensuite mettre à jour via json un device sur mon domoticz.

lorsque j'appelle manuellement l'url vers mon domoticz via un navigateur cela fonctionne correctement
mais avec curl cela ne fonctionne pas.
mon script

Code : Tout sélectionner

<?php

$url = 'http://mon_ip.com:8080/json.htm?param=udevice&username=zzzzzzz=&password=zzzzzzz&type=command&idx=1332&nvalue=0&svalue='.$nb;
 
  $ch = curl_init();
  curl_setopt($ch, CURLOPT_URL, $url);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);  
  $output = curl_exec($ch);
  curl_close($ch);

    echo $nb;
    echo "</br>";
    echo '<a href="'.$url.'">lien</a>';
?>
$nb => variable contenant le nombre à mettre à jour
j'ai bien sur changé mon , ip les login et mdp au format based64 encode

j'affiche le lien sur la page via echo '<a href="'.$url.'">lien</a>';
et lorsque je clique sur lien cela fonctionne mais pas via la commande curl

j'ai testé aussi

Code : Tout sélectionner

$curl = curl_init($url); 
curl_setopt($curl, CURLOPT_TIMEOUT, 30);
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($curl);*/
/* $json = json_decode($result);
curl_close($curl);
echo '<pre>';
print_r($json);
echo '</pre>';
sans succès

Re: php : curl ne fonctionne pas

Publié : 30 sept. 2018, 19:58
par vil1driver
Salut,

As tu testé avec user et pass hors url ?

Code : Tout sélectionner

curl_setopt($curl, CURLOPT_USERPWD, "$username:$password");

Re: php : curl ne fonctionne pas

Publié : 30 sept. 2018, 22:35
par papoo
merci. je viens de le faire avec les login/mdp encodé 64b et en clair, même problème.
ça ne fonctionne pas.

Re: php : curl ne fonctionne pas

Publié : 01 oct. 2018, 03:54
par vil1driver
L'authentification dans domoticz est bien sur 'Basi-Auth' ?

Re: php : curl ne fonctionne pas

Publié : 01 oct. 2018, 13:16
par papoo
oui j'ai essayé les 2

Re: php : curl ne fonctionne pas

Publié : 06 oct. 2018, 12:44
par papoo
j'ai contourné le problème
je ne cherche plus à envoyer les données depuis le script PHP via curl.
je mets les données $nb au format json

Code : Tout sélectionner

$tableau_pour_json = ['users'=>$nb];
// Convertir le tableau au format json
$contenu_json = json_encode($tableau_pour_json);
et depuis domoticz j'interroge le json via un script lua toutes les 30 minutes