Bonjour.
J'aimerais un script qui envoi sur une url (Par exemple :
http://www.toto.fr/upload.php?pdf=xxxxxxxxxx) le contenu d'un pdf dans un dossier (par exemple c:/toto).
Tout d'abord le script doit analyser le dossier (c:/toto) et vérifier si il y a un ou plusieurs pdf. Si il y a des pdf, il ouvre le fichier copy le contenu et l'envoi en POST sur l'url en question. L'url en question prend le contenu de la variable POST et recrée le fichier pdf. Le script supprime le pdf du dossier c:/toto et le place dans le dossier c:/backup.
J'ai tenté de mon coté mais je suis trop néofite sur autoit, je vous met ici ce que j'ai réussit a faire :
Fichier test.au3
► Afficher le texte
Code : Tout sélectionner
#include "WinHttp.au3"
#include <FileConstants.au3>
#include <MsgBoxConstants.au3>
#include <WinAPIFiles.au3>
$open = fileopen("D:\Téléchargement\autoit-winhttp-1.6.3.8\autoit-winhttp-1.6.3.8\lyonnais.pdf")
$read = fileread($open)
msgbox(0,"",$read)
Opt("MustDeclareVars", 1)
; Initialize and get session handle
Global $hOpen = _WinHttpOpen()
If @error Then
MsgBox(48, "Error", "Error initializing the usage of WinHTTP functions.")
Exit 1
EndIf
; Get connection handle
Global $hConnect = _WinHttpConnect($hOpen, "manage.progesint.com") ; <- yours here
If @error Then
MsgBox(48, "Error", "Error specifying the initial target server of an HTTP request.")
_WinHttpCloseHandle($hOpen)
Exit 2
EndIf
; Specify the reguest
Global $hRequest = _WinHttpOpenRequest($hConnect,"POST","/transfert.php?f="&$read)
If @error Then
MsgBox(48, "Error", "Error creating an HTTP request handle.")
_WinHttpCloseHandle($hConnect)
_WinHttpCloseHandle($hOpen)
Exit 3
EndIf
; Send it
_WinHttpSendRequest($hRequest)
If @error Then
MsgBox(48, "Error", "Error sending specified request.")
_WinHttpCloseHandle($hRequest)
_WinHttpCloseHandle($hConnect)
_WinHttpCloseHandle($hOpen)
Exit 4
EndIf
; Wait for the response
_WinHttpReceiveResponse($hRequest)
If @error Then
MsgBox(48, "Error", "Error waiting for the response from the server.")
_WinHttpCloseHandle($hRequest)
_WinHttpCloseHandle($hConnect)
_WinHttpCloseHandle($hOpen)
Exit 5
EndIf
; See if there is data to read
Global $sChunk, $sData
If _WinHttpQueryDataAvailable($hRequest) Then
; Read
While 1
$sChunk = _WinHttpReadData($hRequest)
If @error Then ExitLoop
$sData &= $sChunk
WEnd
ConsoleWrite($sData & @CRLF) ; print to console
Else
MsgBox(48, "Error", "Site is experiencing problems.")
EndIf
; Close handles when they are not needed any more
_WinHttpCloseHandle($hRequest)
_WinHttpCloseHandle($hConnect)
_WinHttpCloseHandle($hOpen)
Fichier php de l'autre coté :
Code : Tout sélectionner
$data = $_GET['f'];
$fp = fopen ("doc.pdf", "r+");
fputs ($fp, $data);
fclose ($fp);
echo 'OK';
Résultat actuel :
Une partie du contenu du fichier pdf et envoye en post et placer dans le fichier de destination mais il n'est pas possible de l'ouvrir ensuite :/
Merci à tous,