vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#

https://www.vbarchiv.net
Rubrik: HTML/Internet/Netzwerk · Internet / Browser / IE   |   VB-Versionen: VB611.06.08
Download der aktuellesten Pattern-Datei von TrendMicro

Mit diesem Code lässt sich immer die aktuellste Virus-Pattern-Datei von TrendMicro downloaden.

Autor:   Richard MittelstädtBewertung:  Views:  11.409 
ohne HomepageSystem:  Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 Beispielprojekt auf CD 

Aufgabenstellung: Es soll jederzeit die aktuelle Pattern-Datei mit den neuesten Virendefinitionen von TrendMicro heruntergeladen werden.

Problem: Der Dateiname des ZIP-Files ändert sich täglich

Lösung: TrendMicro bietet eine ASP-Webseite an, in der der aktuelle Download-Link zu der Pattern-Datei vorhanden ist. Wir brauchen daher "lediglich" die ASP-Seite downloaden und nach dem Download-Link zur Pattern-Datei durchforsten. Das Zip-File beginnt hierbei immer mit lpt... (bspw. lpt318.zip).

Hier nun der Code, der die ASP-Seite herunterlädt, lokal speichert und nach dem Link zur Pattern-Datei sucht:

' benötigte API-Deklaration
Private Declare Function URLDownloadToFile Lib "urlmon" _
  Alias "URLDownloadToFileA" ( _
  ByVal pCaller As Long, _
  ByVal szURL As String, _
  ByVal szFileName As String, _
  ByVal dwReserved As Long, _
  ByVal lpfnCB As Long) As Long
' ASP-Seite downloaden und aktuelles Pattern-ZipFile ermitteln
Dim sLocalFile As String
Dim nResult As Long
Dim sURL As String
Dim sPatternLink As String
 
' URL der ASP-Datei
sURL = "http://www.trendmicro.com/download/viruspattern.asp"
 
' Lokale Datei
sLocalFile = Environ$("TEMP")
If Right$(sLocalFile, 1) <> "\" Then sLocalFile = sLocalFile & "\"
sLocalFile = sLocalFile & "viruspattern.asp"
 
' Datei zuvor löschen, fals vorhanden
On Error Resume Next
Kill sLocalFile
On Error Goto 0
 
' Datei downloaden und lokal speichern
nResult = URLDownloadToFile(0, sURL, sLocalFile, 0, 0)
If nResult = 0 Then
  ' jetzt Datei-Inhalt in String-Variable einlesen
  Dim sBuffer As String
  Dim F As Integer
 
  F = FreeFile
  Open sLocalFile For Binary As #F
  sBuffer = Space$(LOF(F))
  Get #F, , sBuffer
  Close #F
 
  ' jetzt den Inhalt nach dem Zip-File durchforsten
  Dim nPos As Long
  Dim sTemp As String
 
  ' nach lpt suchen
  nPos = InStr(1, sBuffer, "lpt", vbTextCompare)
  If nPos > 0 Then
    ' jetzt den Link extrahieren
    nPos = InStrRev(sBuffer, Chr$(34), nPos)
    If nPos > 0 Then
      sTemp = Mid$(sBuffer, nPos + 1)
      nPos = InStr(sTemp, Chr$(34))
      If nPos > 0 Then
        sPatternLink = Left$(sTemp, nPos - 1)
      End If
    End If
  End If
  Screen.MousePointer = 0
 
  If Len(sPatternLink) > 0 Then
    ' Pattern-Link anzeigen
    If MsgBox("Pattern-Datei: " & sPatternLink & vbCrLf & "Jetzt downloaden?", _
      vbQuestion Or vbYesNo) = vbYes Then
 
      ' Pattern-Datei downloaden
      Screen.MousePointer = 11
      sLocalFile = App.Path & "\" & Mid$(sPatternLink, InStrRev(sPatternLink, "/") + 1)
      nResult = URLDownloadToFile(0, sPatternLink, sLocalFile, 0, 0)
      Screen.MousePointer = 0
 
      If nResult = 0 Then
        MsgBox "Downlaod erolgreich" & vbCrLf & _
          "Datei wurde ordnungsgemäß heruntergeladen!", vbInformation
      Else
        MsgBox "Beim Download ist ein Fehler aufgetreten!", vbCritical
      End If
    End If
 
  Else
    MsgBox "Leider konnte in der ASP-Seite kein Download-Link gefunden werden!", _
      vbInformation
  End If
Else
  Screen.MousePointer = 0
  MsgBox "Fehler beim Versuch die ASP-Seite herunterzuladen!", vbCritical
End If



Anzeige

Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv  Vol.6
(einschl. Beispielprojekt!)

Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
- nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten
- Symbol-Galerie mit mehr als 3.200 Icons im modernen Look
Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m.
 
 
Copyright ©2000-2024 vb@rchiv Dieter OtterAlle Rechte vorbehalten.


Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.