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
Сейчас этот форум просматривают: SemrushBot, Yandex-бот и гости: 55