Télécharger un fichier ZIP avec winhttp

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Utilisateur 3309 supprimé
Status : Hors ligne

Télécharger un fichier ZIP avec winhttp

#1

Message par Utilisateur 3309 supprimé » mer. 29 mai 2019 15:23

Bonjour,

j'ai écris une API web en php/mysql qui renvoie un fichier ZIP lorsqu'on fait une requete GET de ce type:
www.monsite.com/dossier/?user=kiki
avec dans la requete un Header:

Code : Tout sélectionner

Authorization: xxxxxxxxxxxxxxxxxxxx
J'ai donc fait le le programme suivant :

Code : Tout sélectionner

#include "WinHttp.au3"

$hOpen = _WinHttpOpen()
$hConnect = _WinHttpConnect($hOpen, "www.monsite.com")
$hRequest = _WinHttpOpenRequest($hConnect, 'GET', "/dossier/?user=kiki", Default, "http://www.monsite.com/", Default, $WINHTTP_FLAG_SECURE)
_WinHttpAddRequestHeaders($hRequest, "Authorization: xxxxxxxxxxxxxxxxxxxx")
_WinHttpSendRequest($hRequest, Default)

; 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
	; Enregistrement fichier ZIP
	$hFile = FileOpen(@ScriptDir & "\files.zip", 18)
	FileWrite($hFile, $sData)
	FileClose($hFile)
Else
    MsgBox(48, "Error", "Site is experiencing problems.")
EndIf

; Close handles
_WinHttpCloseHandle($hRequest)
_WinHttpCloseHandle($hConnect)
_WinHttpCloseHandle($hOpen)
Sur mon serveur Web je vois bien les logs de la requete, et le zip a bien été envoyé, mais sur le PC le fichier ZIP reçu est corrompu, il ne fait que 3Ko au lieu de 100ko
Quelqu'un voit ou est mon erreur ?? il y a visiblement un souci dans ma façon d'enregister les données recues, dans la partie "Enregistrement fichier ZIP"

Merci pour votre aide.

Avatar du membre
Wiltech
Niveau 3
Niveau 3
Messages : 33
Enregistré le : ven. 02 juin 2017 14:50
Localisation : Tours
Status : Hors ligne

Re: Télécharger un fichier ZIP avec winhttp

#2

Message par Wiltech » lun. 03 juin 2019 15:20

Déjà à tu vérifiais que ton pare-feu bloque le téléchargement ou même ton antivirus.

Ensuite je crois pas qu'on peut mettre des données dès un fichier zip avec un fileWrite, car le fileWrite écrit sur le fichier ouvert alors que la tu lui demandes d’écrire sur un fichier zip qui n'est pas fait pour ça, ouvre ton fichier télécharger avec un bloc note je suis sûr que du texte clair va apparaître.

Que veux-tu récupérer précisément un ensemble de fichier ou du texte ?

Avatar du membre
mikell
Modérateur
Modérateur
Messages : 5866
Enregistré le : dim. 29 mai 2011 16:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: Télécharger un fichier ZIP avec winhttp

#3

Message par mikell » lun. 03 juin 2019 18:03

Réponse à ce sujet déjà donnée sur le forum US

Sorry , c'est ma faute, j'ai oublié de coller un avertissement à cetipabo pour motif de double post. Mais j'y penserai la prochaine fois, et d'autant plus qu'il n'a même pas pris la peine de marquer ici le sujet comme résolu en fournissant le lien ci-dessus
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )

Avatar du membre
Wiltech
Niveau 3
Niveau 3
Messages : 33
Enregistré le : ven. 02 juin 2017 14:50
Localisation : Tours
Status : Hors ligne

Re: Télécharger un fichier ZIP avec winhttp

#4

Message par Wiltech » mar. 04 juin 2019 07:19

Pas de problème j'aurais essayer :D

Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11422
Enregistré le : ven. 20 juil. 2007 20:00
Localisation : Bordeaux
Status : Hors ligne

Re: Télécharger un fichier ZIP avec winhttp

#5

Message par Tlem » mar. 04 juin 2019 08:37

mikell a écrit :
lun. 03 juin 2019 18:03
Réponse à ce sujet déjà donnée sur le forum US

Sorry , c'est ma faute, j'ai oublié de coller un avertissement à cetipabo pour motif de double post. Mais j'y penserai la prochaine fois, et d'autant plus qu'il n'a même pas pris la peine de marquer ici le sujet comme résolu en fournissant le lien ci-dessus

Après 8 années et 260 messages, c'est impardonnable de sa part !
Un tel manque de correction mérite sanction.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".

Avatar du membre
Wiltech
Niveau 3
Niveau 3
Messages : 33
Enregistré le : ven. 02 juin 2017 14:50
Localisation : Tours
Status : Hors ligne

Re: Télécharger un fichier ZIP avec winhttp

#6

Message par Wiltech » mar. 04 juin 2019 08:53

L’erreur est humaine c'est pas grave :D

Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11422
Enregistré le : ven. 20 juil. 2007 20:00
Localisation : Bordeaux
Status : Hors ligne

Re: Télécharger un fichier ZIP avec winhttp

#7

Message par Tlem » mar. 04 juin 2019 09:26

Certes, mais sans un minimum de rigueur et de règles, l'humain à tendance à faire n'importe quoi ...
Et puis, ce n'est qu'un avertissement. ^^
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".

Utilisateur 3309 supprimé
Status : Hors ligne

Re: Télécharger un fichier ZIP avec winhttp

#8

Message par Utilisateur 3309 supprimé » mer. 05 juin 2019 07:31

Bonjour,
j'ai posé ma question avant de partir en vacances pour la semaine de l'ascension, ne voyant pas de arriver de réponse ici j'ai posté sur le forum US, ou le probleme a été rapidement résolu. Entre temps j'étais en congès loin de mon PC. Aujourd'hui je reprends le boulot et reviens pour mettre a jour mon post avec la solution à mon problème et je vois que vous vous êtes tous enflammés...Sérieusement vous allez bien là ??

Avertissement pour double post ? sur 2 forums differents ? celle la c'est la meilleure. Ce que je fais hors de ce forum ne vous concerne pas meme si des membres d'ici sont sont aussi sur le forum US. Sanctionner quelqu'un parce qu'il a posté sa demande aussi sur un autre forum c'est complètement débile.

Concernant mon retour tardif, c'est parce que j'étais en congès et que je ne reviens que maintenant.

Donc non seulement je n'ai eu aucune réponse a mon problème ici et en plus je me fais sanctionner pour double post, et bien vous savez quoi ? supprimez mon compte, je me contenterai du forum US, il ne pourra plus y avoir de double post comme ca. Et j'invite tout le monde a en faire autant.

Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11422
Enregistré le : ven. 20 juil. 2007 20:00
Localisation : Bordeaux
Status : Hors ligne

Re: Télécharger un fichier ZIP avec winhttp

#9

Message par Tlem » mer. 05 juin 2019 09:56

Quelle mauvaise foi ...
Le premier message sur ce forum à été posté le 29 mai 2019 à 16:23 et le même message le 29 mai 2019 à 19h30 sur le forum US. Soit 3 heures entre les deux messages.
Ce qui correspond bien à du double post tel que défini dans nos règles.

Message FR.jpg
Message US.jpg

Le forum US et Français sont deux forum qui traitent du même sujet. Si tout le monde s'amuse à écrire le même message sur les deux forums, ca va vite être la foire d'empoigne avec des sujets en veut-tu en voilà et des réponses impossible à suivre correctement.

Si vous aviez attendu 24 à 48 heures, il en aurait été autrement, mais là la sanction est méritée.
Visiblement, pour un simple avertissement, vous avez supprimez votre compte par vous même. Qu'il en soit ainsi.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".

Avatar du membre
mikell
Modérateur
Modérateur
Messages : 5866
Enregistré le : dim. 29 mai 2011 16:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: Télécharger un fichier ZIP avec winhttp

#10

Message par mikell » mer. 05 juin 2019 12:43

Je me permets d'ajouter :
- à propos de l'urgence due à un départ précipité, il y a eu sur le forum US des messages de cet utilisateur le 29 mai et le 30 mai. Venir mentionner ici la réponse obtenue, ça aurait pris 2 minutes
- bonne chance sur le forum US, mais à propos du savoir-vivre, attention : ils sont autrement plus stricts que nous
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )

Répondre