[RESOLU] Envoyer le contenu fichier vers un serveur sms

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Envoyer le contenu fichier vers un serveur sms

Re: Envoyer le contenu fichier vers un serveur sms

par gtv61 » 18 oct. 2016, 20:47

Voici le résultat qui fonctionne
Partie php :
<?
echo ('T=');

$temp = exec('"./temp.sh"');
echo $temp,"\n";

$url= exec('wget "http://192.168.0.53:52007/send.html?sms ... mstype=sms"');

?>

Et la partie temp.sh :

#!/bin/bash
sudo cat /sys/bus/w1/devices/28-03*/w1_slave | grep "t=" | awk -F "t=" '{print $2/1000}'


Merci et à bientôt

Jean Claude

Re: Envoyer le contenu fichier vers un serveur sms

par gtv61 » 12 oct. 2016, 16:03

Bonjour Moogli,

J'avais un truc tout simple mais pour le faire fonctionner ! !
cp /sys/bus/w1/devices/28-03*/w1_slave | grep "t=" | awk -F "t=" '{print $2/1000}' /var/www/temp/temp.txt

mais copier avec "| grep "t=" | awk -F "t=" '{print $2/1000}'" il n'en veux pas ! alors qu'il ne reste que la valeur ex: 28.182 mais sans :
/var/www/temp/temp.txt .
il doit y avoir une solution pour qu'il considère que | grep "t=" | awk -F "t=" '{print $2/1000} fasse parti de la copie et non du destinataire .

Merci et à suivre

JC

Re: Envoyer le contenu fichier vers un serveur sms

par moogli » 12 oct. 2016, 13:34

salut

utillise substr et strpos pour ne garde que ce tu as besoin (pense à modifier l'index retourné par strpo pour ne pas garder la chaine qui sert de délimiteur vu que c'est la position du 1er caractère qui est retournée).

@+

Re: Envoyer le contenu fichier vers un serveur sms

par gtv61 » 12 oct. 2016, 13:03

Bonjour Arthur,

voici la fonction qui marche ' ou presque'

<?
//on inclus le fichier conf //

error_reporting(0);


echo exec ('cp /sys/bus/w1/devices/w1_bus_master1/28-*/w1_slave /var/www/test/temp.txt');

$fichier="temp.txt";

$handle=fopen($fichier, "r");

$contenu=fread($handle,filesize($fichier));

echo $contenu."\n";



$url= exec('wget "http://192.168.0.53:52007/send.html?sms ... mstype=sms"');



echo $url."\n";


?>


Et le résultat final est : de echo $contenu affiché dans la page

63 01 55 00 7f ff 0c 10 ec : crc=ec YES 63 01 55 00 7f ff 0c 10 ec t=22187

Si je vais lire un fichier avec du texte normal même long il me le fait parvenir par sms
mais la il bloque . mont but est de faire parvenir seulement "t=22187 " ou même
divisé par 1000, quelle solution pour ne récupérer le t=22187 dans le fichier

Cdt

JC

Re: Envoyer le contenu fichier vers un serveur sms

par gtv61 » 10 oct. 2016, 21:44

Bonsoir Arthur,

//echo exec('wget "http://192.168.0.53:52007/send.html?sms ... mstype=sms"');

la parti que tu vois fonctionne bien mais ne récupéré rien dans le fichier c'est un envoi simple ,
Mon but est de lire le continu du fichier et de l'intégrer à la place de "toto-est-revenu" pour l'envoyer .
Rien ne part , et en plus reste sur la page web comme lien qui correspond tout a fait avec la ligne que tu vois au dessus ,
si j'y clique dessus j'ai dans l'url il y a :

http://192.168.0.5/test/moncgi?foo=http ... type%3Dsms
-----------------

Voila le résultat et le codage qui part dans l'url, maintenant dans le fichier tout ça au dessous !

----------------
<?
//on inclus le fichier conf //

error_reporting(0);

$fichier="toto.txt";

$handle=fopen($fichier, "r");

$contenu=fread($handle,filesize($fichier));

$url= "http://192.168.0.53:52007/send.html?sms ... mstype=sms";

echo '<a href="moncgi?foo=', urlencode($url),'">';

echo $url."\n";

//echo exec('wget "http://192.168.0.53:52007/send.html?sms ... mstype=sms"');
?>
-------------------
Cdt

JC

Re: Envoyer le contenu fichier vers un serveur sms

par @rthur » 10 oct. 2016, 19:48

avec php s'il y a des espaces dans le contenu du sms il l’envoi que le premier mot .
Ah ? ça envoie bien avec PHP ?

Je suis pas sûr d'avoir compris le problème alors ?

Re: Envoyer le contenu fichier vers un serveur sms

par gtv61 » 10 oct. 2016, 17:14

Ok je vais vérifier mais sans les caractère spéciaux j'ai des résultat il m’envoie bien les sms en ligne de commande mais avec php s'il y a des espaces dans le contenu du sms il l’envoi que le premier mot .
Au pire même s'il n'y a que le premier mot pas grave mais le tout est qu'il face partir sur le serveur comme le fait la dernière ligne si je la décommente .

Cdt

Jean Claude

Re: Envoyer le contenu fichier vers un serveur sms

par @rthur » 10 oct. 2016, 14:46

Il est impossible de mettre des caractères spéciaux (notamment des espaces) dans une url, c'est pour cette raison qu'il faut passer par urlencode() qui va encoder tous ses caractères spéciaux qui seront décodés automatiquement par le serveur destinataire.

Re: Envoyer le contenu fichier vers un serveur sms

par gtv61 » 10 oct. 2016, 12:37

Bonjour,
toujours en essai mais pas de résultat !
Pourquoi urlencode ? et ne pas l'envoyer normalement !
Cordialement

Jean Claude

Re: Envoyer le contenu fichier vers un serveur sms

par gtv61 » 09 oct. 2016, 12:17

J'ai pris l'exemple 1 , j'ai bien l'url qui arrive sur la page en bleu je clique dessus et il part en erreur l'encodage ne lui plait pas !

je vais voir un peu plus loin pour les exemples .

Merci

Re: Envoyer le contenu fichier vers un serveur sms

par @rthur » 09 oct. 2016, 10:54

Re: Envoyer le contenu fichier vers un serveur sms

par gtv61 » 09 oct. 2016, 10:40

Bonjour ,

Peux tu m'en dire un peux plus urlencode() ?
pour le test en ligne de commande sur wget il n'y en a juste avant http sinon ne fonctionne pas !
Merci

Re: Envoyer le contenu fichier vers un serveur sms

par @rthur » 09 oct. 2016, 09:50

Bonjour,
Il faut que tu fasses un urlencode() sur les variables que tu passes en url, par ailleurs je doute que wget ait besoin de guillemets pour ses paramètres. Test en ligne de commande pour vérifier

Envoyer le contenu fichier vers un serveur sms

par gtv61 » 09 oct. 2016, 09:00

Bonjour,

je vous donne le code,
------------------------------------

<?
//on inclus le fichier conf //

error_reporting(0);

$fichier="toto.txt";

$handle=fopen($fichier, "r");

$contenu=fread($handle,filesize($fichier));

echo $contenu."\n";

$url="http://192.168.0.53:52007/send.html?sms ... mstype=sms";

echo $url."\n";

//echo exec('wget "http://192.168.0.53:52007/send.html?sms ... mstype=sms"');
?>
-----------------------------
Voila, la ligne du fond qui est dé-commentée fonctionne très bien , la ligne du dessus récupéré le contenu d'un fichier toto.txt
pour l'intégrer à l'URL mais ne le fait pas parvenir au serveur distant !
-------------------
voila le retour dans dans la page !
test toto http://192.168.0.53:52007/send.html?sms ... body='test toto '&smstype=sms
-------------------
"test toto" est la valeur lue dans le fichier toto.txt

Mon but est de récupérer dans un fichier la température qu'il renseigne et me la faire parvenir tous les jour
par SMS via un vieux smartphone et un serveur .

Il ne doit pas manquer grand chose dans le fichier php mais je bloque.

Merci pour votre aide

Jean Claude