Page 1 sur 1

[R] Bug bizarre en utilisant la fonction InetGetSize() !?

Posté : jeu. 08 oct. 2020 12:33
par Boulanza
Bonjour,
Je n’ai pas trouvé d’explication/solution sur les forums Autoit d’un bug bizarre en utilisant la fonction InetGetSize().
Je m’explique : J’ai 3 fichiers de Cours1/2/3 stockés dans un dossier dans serveur distant (FTP). Lorsque j’utilise le code de l’aide AutoIt ci-dessous j’obtiens la taille exacte du Cours1.pdf. Par contre la taille du Cours2.pdf est aléatoire = la taille du Cours1.pdf, de même pour la taille du Cours3.pdf. Mais ce que je ne comprends pas le fichier du Cours4.pdf n’existe pas (absent) dans le serveur distant et pourtant lorsque je demande sa taille :

Code : Tout sélectionner

InetGetSize("http://www.um6.ma/test /Cour4.pdf ")
= à la taille du fichier Cours1.pdf.
Pouvez-vous m’aider à trouver la cause de ce problème. Merci.
Cordialement.
#include <MsgBoxConstants.au3>
Example()
Func Example()
    ; Retrieve the size of the file. The option of 'get the file from the local cache' has been selected.
    Local $iSize = InetGetSize("http://www.um6.ma/test/Cour1.pdf ")
    MsgBox($MB_SYSTEMMODAL, "", "The size of the file: " & $iSize)
EndFunc   ;==>Example

Re: [..] Bug bizarre en utilisant la fonction InetGetSize() !?

Posté : jeu. 08 oct. 2020 15:25
par Boulanza
Bonjour,
Pour plus d'informations:
Par précaution, j'ai désactivé mon Antivirus.
Pire encore avec InetGet("http://www.um6.ma/test/Cours2.pdf ", _
@TempDir & "\Cours2.pdf", 1, 1)
c'est le cours1.pdf que je télécharge et non le cours2.pdf ?
Donc lorsque on a plusieurs fichiers dans un dossier dans un serveur (FTP) distant c'est la pagaille avec les fonctions InetGet.
Si les fichiers des Cours sont installés dans des dossiers différents, les fonctions InetGet font leur travaille correctement sans problèmes.
Cordialement.
$h=InetGet("http://www.um6.ma/test/Cours2.pdf ", _
            @TempDir & "\Cours2.pdf", 1, 1)
Do
Sleep(250)
Until InetGetInfo($h, 2) ; attendre la fin du chargement
$a = InetGetInfo($h) ;obtenir toutes les informations
InetClose($h) ;Le handle doit être libéré une fois le téléchargement terminé.
MsgBox(0, "", "Taille en Octets : " & $a[0] & @CRLF & _
              "Taille en Octets à télécharger: " & $a[1] & @CRLF & _
           "Exhaustivité: " & $a[2] & @CRLF & _
              "Succès: " & $a[3] & @CRLF & _
              "@error = " & $a[4] & @CRLF & _
              "@extended = " & $a[5] & @CRLF)
Exit

Re: [..] Bug bizarre en utilisant la fonction InetGetSize() !?

Posté : jeu. 08 oct. 2020 15:50
par jchd
Si les fichiers sont sur un serveur FTP, ça m'étonnerait qu'on puisse télécharger quoi que ce soit en attaquant http://www....
Il y a des espaces parasites dans les chemins du premier post.

Re: [..] Bug bizarre en utilisant la fonction InetGetSize() !?

Posté : jeu. 08 oct. 2020 18:17
par Boulanza
Bonjour jchd,
Avec la fonction InetGet(), je télécharge à partir de serveur FTP vers mon PC sans aucun problème.
Cordialement.

Re: [..] Bug bizarre en utilisant la fonction InetGetSize() !?

Posté : jeu. 08 oct. 2020 18:36
par jchd
Certes, mais une URL en http://www.* n'est pas un serveur FTP !

Re: [..] Bug bizarre en utilisant la fonction InetGetSize() !?

Posté : jeu. 08 oct. 2020 19:44
par Boulanza
Disons que vous avez raison Monsieur jchd

Re: [..] Bug bizarre en utilisant la fonction InetGetSize() !?

Posté : ven. 09 oct. 2020 00:09
par Boulanza
Bonsoir,
Boulanza a écrit : jeu. 08 oct. 2020 18:17 Bonjour jchd,
Avec la fonction InetGet(), je télécharge à partir de serveur FTP vers mon PC sans aucun problème.
Cordialement.
Sur mon serveur FTP, à condition de déposer mes fichiers dans uns dossier qui a été conçu spécialement pour utiliser la fonction InetGet(http://www.*).
Problème résolut. Merci jchd pour votre remarque:
jchd a écrit : jeu. 08 oct. 2020 18:36 Certes, mais une URL en http://www.* n'est pas un serveur FTP !
Cordialement.