Page 1 sur 1

[..] Ecrire dans une variable

Posté : dim. 10 juil. 2011 12:49
par BlueCore
Bonjour, bonjour !
J'ai un petit problème dans ma plantation mon script.

En effet, j'utilise cURL pour envoyer une requette à "un certain site" avec un cookie.

Code : Tout sélectionner

RunWait(FileGetShortName(@ScriptDir & '\curl.exe') & _
        ' -b ' & FileGetShortName($cookieFile) & _
        ' -d "url=' & $urlTo & '&user=***&method=***" http://***.fr/***.cgi' & _
        ' -o ' & [b][color=#BF0000]FileGetShortName(@ScriptDir & '\log.txt')[/color][/b] & _
        ' -H "X-Requested-With: XMLHttpRequest"' & _
        ' -s', @ScriptDir, @SW_HIDE)
 
Le problème que j'ai se situe au niveau du rouge gras.
J'aimerais bien, que le "log" de cURL s'enregistre dans une variable plutôt que de se mettre dans un fichier (nécessite un FileRead + FileDelete en plus)

Vous pouvez tester avec un bout de code plus simple :

Code : Tout sélectionner

RunWait(FileGetShortName(@ScriptDir & '\curl.exe') & _
    ' http://www.google.fr' & _
    ' -o ' & FileGetShortName(@ScriptDir & '\log.txt'))
 
cURL est disponible dans le fichier zip attaché où sur son site officiel.
curl.zip
cURL
(217.28 Kio) Téléchargé 82 fois
Si vous avez la solution, ça serait génial ! Merci.

Re: [..] Ecrire dans une variable

Posté : dim. 10 juil. 2011 13:05
par TT22
Je dirais qu'il faut faire :
FileGetShortName($var)
Mais je peux me tromper.

Re: [..] Ecrire dans une variable

Posté : dim. 10 juil. 2011 13:09
par BlueCore
Ne fonctionne pas malheureusement..

Re: [..] Ecrire dans une variable

Posté : dim. 10 juil. 2011 20:51
par Tlem
D'après les options de cette page : http://curl.haxx.se/docs/manpage.html
vous n'avez que deux solutions :
1 - Le flux Stdout.
2 - Un fichier Log.

Personnellement, je pense que la lecture du fichier sera bien plus simple qu'une gestion du flux Stdout :mrgreen:, mais bon, chacun ses gouts !!!

Re: [..] Ecrire dans une variable

Posté : dim. 10 juil. 2011 23:51
par mikell
ça vaudrait peut-être le coup d'aller voir dans l'aide la fonction StdoutRead()
$flux = Run(..... , $STDOUT_CHILD)
$var = StdoutRead($flux)
etc
... mais je crois quand même que Tlem a raison... :?

Re: [..] Ecrire dans une variable

Posté : mar. 12 juil. 2011 12:19
par sksbir
Bonjour

Juste mon grain de sel : FileGetShortName : la cible doit exister, donc la commande ne doit pas très bien fonctionner, vu que le fichier log n'existe pas encore avant l'exécution de la commande curl...