












If Right(ReceivedData, 9) = "</html>" & vbCrLf Then MsgBox "Complete", vbInformation & vbOKOnly





Format C: писал(а):Эй! Гуры! Неужели ничего нельзя придумать??
vvs_adm писал(а):Maitris
В принципе, можно наверное так:
1) Узнать длину из заголовка и качать сколько нужно.
2) Если длины нет, посмотреть, начинается ли док. на <html> и если да, то качать до </html>
3) Если нет, то по таймауту.
И в первых двух случаях тоже таймаут нужно смотреть.

Function Download(URL,Folder)
   Dim XMLHTTP, ADOStream, FileName
   URL = Replace(URL,"\","/")
   FileName = right(URL,len(URL)-instrrev(URL,"/"))
   if len(FileName)=0 Then 
      msgbox "Имя файла не указано"
      Exit Function
   End if
   Set XMLHTTP = CREATEOBJECT("Microsoft.XMLHTTP")
   XMLHTTP.open "GET", URL, "False" 
   XMLHTTP.send 
   If XMLHTTP.statustext = "OK" Then 
      Set ADOStream = CreateObject("ADODB.Stream") 
      ADOStream.type = 1
      ADOStream.Open 
      ADOStream.Write XMLHTTP.responseBody 
      if len(Folder) > 0 Then FileName = Folder & "\" & FileName
      ADOStream.SaveToFile FileName, 2 
      ADOStream.Close 
      Set ADOStream = Nothing 
      Download = 1
   'Else 
      'Download = 0 'XMLHTTP.statustext 
   End if 
   Set XMLHTTP = Nothing 
End FunctionСейчас этот форум просматривают: Google-бот, Yandex-бот и гости: 12