Forum eedomus
http://forum.eedomus.fr/

cURL et eedomus
http://forum.eedomus.fr/viewtopic.php?f=50&t=6166
Page 1 sur 1
Auteur:  rover820i [ 21 Nov 2017 18:26 ]
Sujet du message:  cURL et eedomus

Hello tout le monde,

sauf erreur de ma part, il n'est pas possible d'utiliser les fonctions PHP cURL

J'ai développé un script très pratique mais qui ne peut se passer de la gestion des cookies pour un passage de page en page (variable de session obligatoire), car mon script va récupérer des valeurs sur un site pour les enregistrer sur eedomus (consommation d'eau relevée chaque jour pour les utilisateurs du site toutsurmoneau).

En l'état, il fonctionne parfaitement sur un serveur externe, mais l'idéal serait de pouvoir le proposer aux utilisateurs eedomus.

A ceux qui maîtrisent mieux les fonctions PHP spéciales eedomus que moi : la fonction httpQuery, implémentée sur eedomus, permet-elle ce que je souhaite faire ?

Merci d'avance :)
Auteur:  influman [ 21 Nov 2017 18:41 ]
Sujet du message:  Re: cURL et eedomus

j'ai l'impression qu'httpQuery est une surcouche maison de Curl...

il y a l'argument cookies dans httpQuery.
http://doc.eedomus.com/view/Scripts

Il faudrait montrer ton code actuel curl à la team, pour voir si c'est transposable
Auteur:  rover820i [ 22 Nov 2017 11:54 ]
Sujet du message:  Re: cURL et eedomus

C'est aussi l'impression que j'ai, mais je ne sais pas si la version modifiée de PHP sur eedomus garde la session cURL ouverte ou si elle en ouvre une nouvelle à chaque fois. Car dans le 2nd cas il y a des chances que ça ne passe pas.

Voici un extrait de mon script :

Code : Tout sélectionner
      $headers = array(
         "Accept: */*",
         "Connection: Keep-Alive",
      );
      $cookie_file = 'veolia_php_cookies_'.uniqid().'.txt';
    $ch = curl_init();
      curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
      curl_setopt($ch, CURLOPT_HEADER, FALSE);
      curl_setopt($ch, CURLOPT_NOBODY, FALSE);
      curl_setopt($ch, CURLOPT_AUTOREFERER, TRUE);
      curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
      curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
      curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);
      curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);
      curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.3; WOW64; rv:47.0) Gecko/20100101 Firefox/47.0");
      curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
      curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
      curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
      curl_setopt($ch, CURLOPT_URL, $login_page);
      curl_setopt($ch, CURLOPT_GET, TRUE);
      $response = curl_exec($ch);
    $csrf = explode('<input type="hidden" name="_csrf_token" value="', $response);
    $csrf = explode('" />', $csrf[1]);
      
      curl_setopt($ch, CURLOPT_URL, $login_page);
      curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
      curl_setopt($ch, CURLOPT_POST, TRUE);
    curl_setopt($ch, CURLOPT_POSTFIELDS, "_username=".$email_login."&_password=".$pwd_login."&_csrf_token=".$csrf[0]."&_remember_me_legacy=");
      $response2 = curl_exec($ch);
      
      curl_setopt($ch, CURLOPT_URL, $conso_data);
      curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
      $response3 = curl_exec($ch);

      $data_page = str_replace(Array("YYYY", "MMMM"), Array(date("Y"), date("m")), $data_page);

      curl_setopt($ch, CURLOPT_URL, $data_page);
      curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
      $response4 = curl_exec($ch);
Auteur:  eedomusbox [ 22 Nov 2017 13:14 ]
Sujet du message:  Re: cURL et eedomus

tiens c'est marrant j'ai fait le même script
Auteur:  rover820i [ 22 Nov 2017 14:05 ]
Sujet du message:  Re: cURL et eedomus

eedomusbox a écrit:tiens c'est marrant j'ai fait le même script

Pour Veolia ?
Auteur:  eedomusbox [ 23 Nov 2017 06:32 ]
Sujet du message:  Re: cURL et eedomus

Oui
Auteur:  rover820i [ 23 Nov 2017 09:48 ]
Sujet du message:  Re: cURL et eedomus

eedomusbox a écrit:Oui

:D

Tu t'es inspiré du script pour jeedom ?

Il tourne sur eedomus ou sur un serveur web indépendant ?
Auteur:  eedomusbox [ 23 Nov 2017 11:37 ]
Sujet du message:  Re: cURL et eedomus

Non je l'avait fait avant mais c'est à peu près pareil. Sauf que je ne récupère pas un Excel mais directement le json.
Il est sur un raspberry, j'utilise aussi le cURL.
Avant il tournait sur le site "eauenligne et maintenant sur toutsurmoneau"
Auteur:  rover820i [ 23 Nov 2017 14:19 ]
Sujet du message:  Re: cURL et eedomus

Je récupère aussi le JSON :)

J'ai commencé à essayer de transporter pour eedomus mais je tombe sur un problème de sécurité sur le site de veolia :

Site inaccessible depuis votre navigateur internet

Dans un souci de sécurisation de vos données, nous ne pouvons pas vous donner accès à notre site en raison de la version de votre navigateur internet.

Actuellement, vous utilisez un navigateur employant un protocole de sécurisation des données vulnérable (protocole SSLV3), peut-être parce que votre navigateur n’a pas été mis à jour récemment.

Cette faille de sécurité, nommée Poodle, permet la récupération partielle de données ex : Cookies, mots de passe…

Nous vous conseillons de mettre à jour votre navigateur internet afin de pouvoir accéder à notre site. Vous trouverez ci-dessous les fiches support relatives aux navigateurs Chrome, Firefox et Internet Explorer.

Si vous utilisez Google Chrome

Si vous utilisez Mozilla Firefox

Si vous utilisez Internet Explorer

Pour plus d’information sur ce sujet nous vous invitons à consulter la page gouvernementale dédiée :
www.cert.ssi.gouv.fr/site/CERTFR-2014-A ... E-007.html

http://www.cert.ssi.gouv.fr est le site du Centre gouvernemental de veille, d’alerte et de réponse aux attaques informatiques

Nous vous remercions de votre compréhension.



La 1ère partie du code source :
Code : Tout sélectionner
$headersList = array(
  "Accept: */*",
  "Connection: Keep-Alive",
);
$requete1 = httpQuery($login_page, 'GET', NULL, NULL, $headers = $headersList, true, false);
echo 'Retour : '.$requete1;
Auteur:  rover820i [ 23 Nov 2017 15:49 ]
Sujet du message:  Re: cURL et eedomus

Pour le moment, je l'ai hébergé sur mon serveur pour pouvoir l'utiliser.

Mais si quelqu'un a une idée pour le faire évoluer je suis preneur, je pense que ça peut intéresser du monde :)
Auteur:  eedomusbox [ 03 Sep 2019 05:15 ]
Sujet du message:  Re: cURL et eedomus

rover820i a écrit:Pour le moment, je l'ai hébergé sur mon serveur pour pouvoir l'utiliser.

Mais si quelqu'un a une idée pour le faire évoluer je suis preneur, je pense que ça peut intéresser du monde :)

Salut, il fonctionne encore ton script? depuis le 26/08, je n'ai plus de donné qui remonte.
Auteur:  rover820i [ 03 Sep 2019 09:54 ]
Sujet du message:  Re: cURL et eedomus

eedomusbox a écrit:Salut, il fonctionne encore ton script? depuis le 26/08, je n'ai plus de donné qui remonte.

Hello

Ca fait un moment que je ne l'utilise plus, je n'ai pas regardé. Mais veolia utilise un captcha google, ceci explique peut-être cela.
Page 1 sur 1 Le fuseau horaire est UTC+1 heure