Telecharger une image en vbscript

dayak2 Messages postés 1 Date d'inscription lundi 23 décembre 2002 Statut Membre Dernière intervention 10 décembre 2003 - 10 déc. 2003 à 17:50
akiuni Messages postés 11 Date d'inscription lundi 8 mars 2004 Statut Membre Dernière intervention 17 août 2004 - 11 déc. 2004 à 16:56
Bonjour a tous,

je souhaiterai savoir si qq'un sait telecharger une image en VBScript.

J'y arrive en VB mais je n'arrive pas a l'adapter.

Merci d'avance.

2 réponses

K@zuya Messages postés 306 Date d'inscription vendredi 21 février 2003 Statut Membre Dernière intervention 15 février 2016
10 déc. 2003 à 23:03
j'avoue que je me suis creuser pour pondre un script qui ne marche meme pas, mais pour que le travail commencé ne soit pas inutile, je te donne ce que j'ai fait

Dim Check
Dim Temp
Dim Server
Dim Url
Dim Packet

set Sock = createobject("MSWinsock.Winsock")
set F = createobject("Scripting.FileSystemObject")

Main

sub Main()
Packet = "x"
fichier = inputbox("Veuillez entrer le chemin du fichier de sortie")
if fichier = vbnullstring then exit sub
set File = F.createtextfile(fichier)
Url = inputbox("Veuillez entrer l'URL de l'image")
if Url = vbnullstring then exit sub
if instr(1,Url,"http://") then Url = right(Url,len(Url)-7)
if instr(1,Url,"/") then
Temp = split(Url,"/")
server = Temp(0)
Url = right(Url,len(Url)-len(temp(0))-1)
end if
if Server = vbnullstring then
Server = inputbox("Le nom de server n'a pas été resolu, veuillez entrer l'adresse IP ou DNS du Server:")
end if
if server = vbnullstring then 
msgbox "Erreur de nom de server !"
exit sub
end if
sock.RemoteHost = Server
Sock.RemotePort = 80
Sock.connect
cur_time = time
tempo = 5
do while Sock.state <> 7
if time <> cur_time then
tempo = tempo - 1
cur_time = time
end if
if tempo = 0 then
msgbox "Temps de connection expiré !"
exit sub
end if
WScript.Sleep 200
loop
Sock.SendData "GET /" & Url & " HTTP1/0" & vbcrlf & "HOST:" & Server & vbcrlf & vbcrlf
do while Sock.state = 7
Sock.GetData Packet
if Packet <> vbnullstring then
If InStr(1, Packet, "Content-Type:") Then
    				Pos = InStr(1, Packet, vbCrLf & vbCrLf)
   				Packet = Right(Packet, Len(Packet) - Pos - 3)
   				Check = True
End If
if Check then File.Write Packet
end if
WScript.Sleep 50
loop
msgbox "Telechargement terminé !"
end Sub

K@zuya 8-)
0
akiuni Messages postés 11 Date d'inscription lundi 8 mars 2004 Statut Membre Dernière intervention 17 août 2004
11 déc. 2004 à 16:56
Hello,

j'ai fait un script qui marche, me permettant de récupérer des fichiers sur le web. Je l'ai adapté pour une image, mais il faut évidemment le retoucher pour que ça fonctionne bien (adresses + chemins)..

en espérant que ca pourra aider quelqu'un... Au fait, il faut télécharger et enregistrer la DLL "OSWINSCK.dll"

--- source:

dim sBuffer 'as string

nomfichier = "D:\temp\recup\recup.jpg"
nomfichierlog = "D:\temp\recup\recupLog.txt"
essai = True

set F = createobject("Scripting.FileSystemObject")
set File = F.createtextfile(nomfichier)
set FileLog = F.createtextfile(nomfichierlog)

while essai
FileLog.Write "start new try" + vbcrlf
bClose = False

set wsTCP=CreateObject("OSWINSCK.Winsock")
WScript.ConnectObject wsTCP, "wsTCP_"
wsTCP.Connect "br.share.geocities.com", 80

While Not bClose
WScript.Sleep 1
Wend

if not essai then
wscript.echo "termine"
else
Wscript.Sleep 5000
end if
Wend

Sub wsTCP_OnConnect()
wsTCP.SendData "GET " & "/images/TheFile.jpg" & " HTTP/1.0" & vbCrLf & "HOST:www.thesite.com" & vbCrLf & vbCrLf
End Sub

Sub wsTCP_OnDataArrival(ByVal bytesTotal)
wsTCP.GetData sBuffer
If InStr(1, sBuffer, "HTTP/1.1") Then
essai = True
FileLog.Write "error retry... code = " + Left(sBuffer,20) + vbcrlf
Else
FileLog.Write "starting download !!! = " + Left(sBuffer,20) + vbcrlf
essai = False
end if
If not essai then
File.Write sBuffer
end if
End Sub

Sub wsTCP_OnClose()
wsTCP.CloseWinsock
Set wsTCP = Nothing
if not essai then
File.close
FileLog.write "download successfull" + vbcrlf
FileLog.close
end if
bClose = True
End Sub
0
Rejoignez-nous