Guten liebes Forum,
ich versuche immer das neuste Bild aus dem Web zu speichern. Das gelingt mir zwar aber nicht so wie
es sein sollte.
Hier mein code:
Dim strHost As String
Dim RawHeadersCrLf As String, RawHeaders As String
Dim StatusText As String, StatusCode As String, Server, LastModified As _
String
Dim iRetVal As Long
Dim myEtag
If ExtendedTimer1.Minutes <> 1 Then
ExtendedTimer1.Minutes = 1
ExtendedTimer1.MilliSecs = 0
End If
strHost = Left$(Text1.Text, InStr(Text1.Text, "/") - 1)
Debug.Print strHost
Debug.Print Right(Text1.Text, Len(Text1.Text) - InStr(Text1.Text, "/") + 1)
hInternetSession = InternetOpen(scUserAgent, INTERNET_OPEN_TYPE_PRECONFIG, _
vbNullString, vbNullString, 0)
If CBool(hInternetSession) Then
hInternetConnect = InternetConnect(hInternetSession, strHost, _
INTERNET_DEFAULT_HTTP_PORT, vbNullString, vbNullString, _
INTERNET_SERVICE_HTTP, 0, 0)
If hInternetConnect > 0 Then
hHttpOpenRequest = HttpOpenRequest(hInternetConnect, "HEAD", Right( _
Text1.Text, Len(Text1.Text) - InStr(Text1.Text, "/") + 1), _
"HTTP/1.1", vbNullString, 0, INTERNET_FLAG_RELOAD, 0)
If CBool(hHttpOpenRequest) Then
' "Host: " & strHost, Len(strHost)
iRetVal = HttpSendRequest(hHttpOpenRequest, vbNullString, 0, 0, _
0)
If iRetVal Then
StatusCode = GetQueryInfo(hHttpOpenRequest, _
HTTP_QUERY_STATUS_CODE)
StatusText = GetQueryInfo(hHttpOpenRequest, _
HTTP_QUERY_STATUS_TEXT)
RawHeaders = GetQueryInfo(hHttpOpenRequest, _
HTTP_QUERY_RAW_HEADERS)
LastModified = GetQueryInfo(hHttpOpenRequest, _
HTTP_QUERY_LAST_MODIFIED)
myEtag = GetQueryInfo(hHttpOpenRequest, HTTP_QUERY_ETAG)
RawHeadersCrLf = GetQueryInfo(hHttpOpenRequest, _
HTTP_QUERY_RAW_HEADERS_CRLF)
Text2.Text = RawHeadersCrLf
Text3.Text = ""
Text3.Text = LastModified
Text4.Text = myEtag
'List2.AddItem LastModified
'List2.ListIndex = List2.ListCount - 1
End If
End If
End If
End If
InternetCloseHandle (hHttpOpenRequest)
InternetCloseHandle (hInternetSession)
InternetCloseHandle (hInternetConnect)
On Error Resume Next
If Not Text4.Text = List1.List(List1.ListCount - 1) Then
List1.AddItem Text4.Text
List1.Selected(List1.ListCount - 1) = True
Dim D1$
Dim test
Dim test1
D1 = LastModified
'D1 = "Thu, 21 Jan 2016 16:15:02 GMT"
test = FormatDateTime(Mid$(D1, 6, 20), _
vbGeneralDate)
test1 = Replace(test, "/", "_")
test1 = Replace(test1, ":", "_")
'Call DownloadBinaryFile("http://" & Text1.Text, App.Path & "\"
' & "Turkey_PPI_" & test1 & ".jpg", True)
Dim sSource As String
Dim sLocal As String
sSource = _
"http://www.mgm.gov.tr/FTPDATA/uzal/" & _
"adar/comp/compppi15.jpg"
sLocal = App.Path & "\" & "Turkey_PPI_" _
& test1 & ".jpg"
If FileDownload( _
sSource, sLocal) = _
True Then
Shell "explorer" & _
"/e,/select," & _
sLocal, _
vbNormalFocus
End If
End If
End Sub Mal funktioniert es. Ein anderes mal wird zwar eine ander Last modiefied Zeit angezeigt, aber es
warden die gleichen Bilder gespeichert.
Was ist falsch an meinem code ?
Vielen Dank fuer Eure Hilfe schon mal im vorraus und Gruss |