Hallo,
ist es möglich das Modified-Datum einer Exe-Datei aus dem Web ausfindig zu machen, ohne diese erst herunterladen zu müssen?
Besten Dank schonmal zum voraus!
Modified-Datum einer EXE vom Web
Re: Modified-Datum einer EXE vom Web
Ja das geht.
Vielleicht hilft dieser Link:
http://purebasic.myforums.net/viewtopic.php?t=11095
...oder mal bei PureArea schauen...
Vielleicht hilft dieser Link:
http://purebasic.myforums.net/viewtopic.php?t=11095
...oder mal bei PureArea schauen...
Bitteschön, einfacher und kürzer, dafür nicht portable.
Mein Beispiel nutzt im Prinzip die Internet Explorer dlls von Windows.
Das Beispiel von traumatic war ein Eigenbau und auch unter Linux nutzbar.
Und code 2 lädt die Datei auch gleich runter.
Mein Beispiel nutzt im Prinzip die Internet Explorer dlls von Windows.
Das Beispiel von traumatic war ein Eigenbau und auch unter Linux nutzbar.
Code: Alles auswählen
#IOTPreconfig=1
#IOTDirect=2
#IOTProxy=3
#HTTP_QUERY_CONTENT_LENGTH = 5
#HTTP_QUERY_LAST_MODIFIED = 11
INET_RELOAD.l = $80000000
OpenType.l=#IOTPreconfig
URL.s="http://pb.oppitronic.de/files/zgeheim.exe"
hInet = InternetOpen_("PB@INET", OpenType, #Null, #Null, 0)
If hInet
Debug "internet ok"
hURL = InternetOpenUrl_(hInet, URL, #Null, 0, INET_RELOAD, 0)
If hURL
Debug "url ok"
Buffer.s=Space(255) : buflen.l=Len(Buffer)
ret = HttpQueryInfo_(hURL, #HTTP_QUERY_CONTENT_LENGTH, @Buffer, @buflen,0)
If ret
Debug "filesize: "+Buffer
Else
Debug "cannot get filesize"
EndIf
Buffer.s=Space(255) : buflen.l=Len(Buffer)
ret = HttpQueryInfo_(hURL, #HTTP_QUERY_LAST_MODIFIED, @Buffer, @buflen,0)
If ret
Debug "filedate: "+Buffer
Else
Debug "cannot get filesize"
EndIf
InternetCloseHandle_(hURL)
Else
Debug "url failed"
EndIf
InternetCloseHandle_(hInt)
Else
Debug "open failed"
ret=0
EndIf
Und code 2 lädt die Datei auch gleich runter.
Code: Alles auswählen
#IOTPreconfig=1
#IOTDirect=2
#IOTProxy=3
#HTTP_QUERY_CONTENT_LENGTH = 5
#HTTP_QUERY_LAST_MODIFIED = 11
INET_RELOAD.l = $80000000
OpenType.l=#IOTPreconfig
FILE.s="zgeheim.exe"
URL.s="http://pb.oppitronic.de/files/"+FILE
hInet = InternetOpen_("PB@INET", OpenType, #Null, #Null, 0)
If hInet
Debug "internet ok"
hURL = InternetOpenUrl_(hInet, URL, #Null, 0, INET_RELOAD, 0)
If hURL
Debug "url ok"
Buffer.s=Space(255) : buflen.l=Len(Buffer)
ret = HttpQueryInfo_(hURL, #HTTP_QUERY_CONTENT_LENGTH, @Buffer, @buflen,0)
If ret
Debug "filesize: "+Buffer
size=Val(Buffer)
Else
Debug "cannot get filesize"
EndIf
Buffer.s=Space(255) : buflen.l=Len(Buffer)
ret = HttpQueryInfo_(hURL, #HTTP_QUERY_LAST_MODIFIED, @Buffer, @buflen,0)
If ret
Debug "filedate: "+Buffer
Else
Debug "cannot get filesize"
EndIf
*mem=AllocateMemory(size)
Buffer.s=Space(255) : buflen.l=Len(Buffer)
Repeat
ret=InternetReadFile_(hURL, @Buffer,buflen, @Bytes)
CopyMemory(@Buffer,*mem+offset,Bytes)
offset+Bytes
;Prozentangabe wenn size query erfolgreich war
o.f=offset
s.f=size
p=o/s*100
Debug Str(p)+" %"
Until Bytes=0
If offset>=size
Debug "download ok"
If CreateFile(0,FILE)
WriteData(*mem,offset)
CloseFile(0)
Debug "write to disk ok"
EndIf
Else
Debug "problem download file"
EndIf
InternetCloseHandle_(hURL)
Else
Debug "url failed"
EndIf
InternetCloseHandle_(hInt)
Else
Debug "open failed"
ret=0
EndIf
PB / jaPBe jeweils aktuellste Version, seit 3.62 dabei, XP sp3 de/en & W7 en