[R] Communiquer avec un site internet

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
Iste
Niveau 11
Niveau 11
Messages : 1870
Enregistré le : jeu. 04 déc. 2008 14:21
Localisation : 76
Status : Hors ligne

[R] Communiquer avec un site internet

#1

Message par Iste »

Salutations.

Voila, j'aimerais que mon script autoit puisse envoyer des info sur un site internet. C'est un server que je loue, donc je peux mettre ce que je veux dessus :p mais je ne sais pas comment faire.

Donc, ques-ce que autoit peut faire facilement qui me permeterais d'envoyer des info a un site, soit pour qu'il les traite via page php, soit que le site les stocke (mais sans info perso dans le script)

J'avais pensé a une requete SQL, mais j'y connais rien ^^' et le fait de déposer par FTP implique d'ecrir en dur les info dans le script...

Donc voila, je suis ouvert a toute les propositions. Je demande pas un script complet, juste savoir ce que je peux faire, je chercherai ensuite sur le net comment faire.

Merci d'avance !

Edit : Si ca peut etre utile,

En fait je cherche a recup des infos que mon script envoie. Pour le moment, il envoie des mails, ca marche tres bien, mais je depend du server SMTP et de http://www.autoit.fr/smtp.php ^^'
Donc vu que mon script fonctionne que si il ya internet, et que le fait d'envoyer des info a un site fonctionne la plupart du temps, j'aimerais que mon script dise a un site ce que le site doit me dire (je me débrouillerais ensuite pour que le site m'envoie ce qu'il faut par email)

voila
Modifié en dernier par Iste le ven. 20 mars 2009 16:36, modifié 1 fois.
Signez ici
Avatar du membre
GhostLine
Niveau 7
Niveau 7
Messages : 342
Enregistré le : jeu. 12 mars 2009 15:28
Localisation : Paris
Status : Hors ligne

Re: [..] Communiquer avec un site internet

#2

Message par GhostLine »

Tu peux détailler exactement par l'exemple ce que tu souhaites faire ? je ne comprends rien à ton explication :?
Avatar du membre
Iste
Niveau 11
Niveau 11
Messages : 1870
Enregistré le : jeu. 04 déc. 2008 14:21
Localisation : 76
Status : Hors ligne

Re: [..] Communiquer avec un site internet

#3

Message par Iste »

ben c'est tres simple, mon script m'envoi des mail regulierement pour me dire que tout va bien.

Le mail est envoyé grace à _INetSmtpMail() et le server smtp est recupéré sur http://www.autoitscript.fr/smtp.php

Depuis certaine machine, l'envoie de mail ne marche pas a cause du server smtp.

Donc, comment faire pour que au lieux d'envoyer un mail, le script "communique" avec mon site internet pour qu'il se charge de m'envoyer l'info ?

Pour le moment, tout ce que j'ai trouvé c'est d'envoyer un fichier par FTP. Mais pour ca il faut ecrir les log/mdp dans le script, pis ca prend de la place sur le server
Signez ici
Avatar du membre
GhostLine
Niveau 7
Niveau 7
Messages : 342
Enregistré le : jeu. 12 mars 2009 15:28
Localisation : Paris
Status : Hors ligne

Re: [..] Communiquer avec un site internet

#4

Message par GhostLine »

Comme ça, je te dirais d'automatiser la rédaction d'une page en HTML dans un script, avec les valeurs qui t'intéressent, et de les droper en FTP sur ton serveur, en lieu et place de l'ancien rapport ... si tu n'as pas besoin d'historique. Sinon, c'est un peu plus compliqué, mais pas insurmontable (genre récupérer l'ancien fichier, et le concaténer dans le nouveau, par exemple).C'est un truc que j'envisage assez bien en batch, en tout cas (et ouais, on se refait pas hein ^^').

Par contre, en relisant ton premier message, je ne vois pas de solution pour qu'à aucun moment, tu n'aies à rentrer des informations type login + mot de passe dans ton script. Cela dit, tu peux créer sur ton serveur FTP un utilisateur avec des droits limités sur un répertoire donné, ce qui ne remettra en aucun cas en cause la sécurité de ton site si tu le fais bien.
Modifié en dernier par GhostLine le ven. 20 mars 2009 15:32, modifié 1 fois.
Avatar du membre
Iste
Niveau 11
Niveau 11
Messages : 1870
Enregistré le : jeu. 04 déc. 2008 14:21
Localisation : 76
Status : Hors ligne

Re: [..] Communiquer avec un site internet

#5

Message par Iste »

ben ouais mais justement, c'est ce a quoi j'avais pensé, mais cela implique une connexion ftp => ecrir mes log dans le logiciel, et ca c'est pas top
Signez ici
Avatar du membre
GhostLine
Niveau 7
Niveau 7
Messages : 342
Enregistré le : jeu. 12 mars 2009 15:28
Localisation : Paris
Status : Hors ligne

Re: [..] Communiquer avec un site internet

#6

Message par GhostLine »

Ah oué, je comprends. Alors là je passe, je ne connais pas du tout les capacités de AutoIT en ce qui concerne l'attaque d'une base de donnée en direct. Cependant, pour ce faire, il faudra que tu mettes dans ton script des informations de connexion à ta base ... Mais effectivement, avec une page en PHP correctement développée, tu devrais pouvoir afficher toute tes infos. Bon courage à toi en tout cas :)
Avatar du membre
Iste
Niveau 11
Niveau 11
Messages : 1870
Enregistré le : jeu. 04 déc. 2008 14:21
Localisation : 76
Status : Hors ligne

Re: [..] Communiquer avec un site internet

#7

Message par Iste »

Bon en fait c'est pas si dur que ce que je croyais...
URL?parametre avec un simple mail() en php...
Comme c'est pas fini je ferme pas le sujet, mais je pense que je devrait m'en sortir d'ici peu ^^
Signez ici
Avatar du membre
Iste
Niveau 11
Niveau 11
Messages : 1870
Enregistré le : jeu. 04 déc. 2008 14:21
Localisation : 76
Status : Hors ligne

Re: [..] Communiquer avec un site internet

#8

Message par Iste »

Bon ben, en effet, c'etait facile.

Voici la fonction autoit qui se charge d'envoyer le mail :

Code : Tout sélectionner

Func _sendmailbyiste($Mphp, $Mfrom, $Mfromadresse, $Mtoadresse, $Msubject, $Mbody)

    $Mbody2 = ""

    For $Mi = 0 To UBound($Mbody) - 1
        $Mbody2 = $Mbody2&$Mbody[$Mi]&"</br>"
    Next

    $Mi = 0

    While 1
        $cont = InetGet($Mphp & "?from=" & $Mfrom & "&fromadresse=" & $Mfromadresse & "&toadresse=" & $Mtoadresse & "&Subject=" & $Msubject & "&body=" & $Mbody2, $dir4, 1)
        If $cont = 1 Then ExitLoop
        $Mi += 1
        If $Mi = 10 Then Return (0)
    WEnd

    Return (FileRead($dir4))

EndFunc   ;==>_sendmail
et, le code php a heberger ou vous voulez

Code : Tout sélectionner

<?php 
     $headers ='From: "'.$from.'"<'.$fromadresse.'>'."\n";  
     $headers .='Content-Type: text/html; charset="iso-8859-1"'."\n"; 
     $headers .='Content-Transfer-Encoding: 8bit';
     $message ='<html><head><title>Un titre ici</title></head><body>'.$body.'</body></html>';

     if(mail($toadresse, $Subject, $message, $headers)) 
     { 
          echo '1'; 
     } 
     else 
     { 
          echo '0'; 
     } 
?>
Edit : Bon en fait un petit bout de code bug...

Code : Tout sélectionner

    For $Mi = 0 To UBound($Mbody) - 1
        $Mbody2 = $Mbody2 + $Mbody[$Mi]&"</br>"
    Next
je cherche a comprendre

edit 1 : Trouvé, débugué :)

Edit 3 : Bon en fait, ca marche que pour les petit mail... Autoit ne fonctionne pas si l'URL d'inget est trop longue :(
Signez ici
GaRydelaMer
Niveau 7
Niveau 7
Messages : 450
Enregistré le : mer. 18 mars 2009 22:12
Localisation : Montpellier
Status : Hors ligne

Re: [R] Communiquer avec un site internet

#9

Message par GaRydelaMer »

Bonjour Bonsoir


Je pense que tu fais des erreurs de conception. Je m'explique !!

Tu sembles disposer donc d'un site Web sur un hébergeur, tu peux y accéder en FTP pour transférer des fichiers (dans les 2 sens) AutoIt sait trés bien faire ca. Cependant tu y dispose aussi d'un environnement PHP il est fort probable que tu dispose également d'un accès à un serveur SMTP (attention cependant à la limite d'envoi en nombre de mail restriction contre les spammeurs) .

D'où l'erreur de conception et l'utilisation des mauvais outils a mon sens.

Tu as donc sur 1 ou plusieurs PC ton programme AutoIt, qui lui va se charger non pas d'envoyer les Emails mais de Faire un POST (html) c'est a dire utiliser le composant HTTPRequest pour simuler le post vers ton formulaire PHP, qui lui va traiter les infos en PHP et faire l'envoi du mail.

L'avantage de ca, tu ne donne aucune infos sur tes données perso, sauf l'adresse éventuellement de la page PHP qui recoie les infos. De plus le composant HTTPRequest n'est pas limiter en taille pour l'envoie des infos comme tu peux le faire en html avec un <form> et x champs.
Avatar du membre
Iste
Niveau 11
Niveau 11
Messages : 1870
Enregistré le : jeu. 04 déc. 2008 14:21
Localisation : 76
Status : Hors ligne

Re: [R] Communiquer avec un site internet

#10

Message par Iste »

Ha ben, la je veux bien plus d'info, que je comprenne mieux ^^

En fait, je suis sur un server mutualisé chez ovh, donc j'ai bien leur server SMTP a disposition, mais rien a faire, ca passe pas :\

et comme je savais qu'en php on pouvait envoyer des mails... je me suis jeté sur la solution la plus simple (pour moi) que j'avais sous la main.

Mais si ya mieux, je suis preneur !

Donc en gros, si je comprend bien, tu me dis d'envoyer directement a ma page php ce que je veux faire au lieux de simuler un chargement avec autoit ?
Ben oui je veux bien, mais je sais pas faire ^^' quelqu'un a une idée ?
Signez ici
Avatar du membre
Iste
Niveau 11
Niveau 11
Messages : 1870
Enregistré le : jeu. 04 déc. 2008 14:21
Localisation : 76
Status : Hors ligne

Re: [R] Communiquer avec un site internet

#11

Message par Iste »

Solution : http://www.autoitscript.com/forum/index ... TTPRequest

Merci beaucoup GaRydelaMer d'avoir consacré 100% de tes post pour m'aider ^^

Edit : je relis mon post et constate qu'il est passé modo le petit depuis :)
Signez ici
Répondre