Seite 1 von 1

Dateigröße auf einem Webserver ermitteln( über WinAPI)

Verfasst: 21.02.2009 21:46
von X0r
Ist nichts besonderes und einige werden sich jetzt wahrscheinlich auch fragen, warum ausgerechnet API, geht doch auch locker mit den PB-Netzwerk-Funktionen. Nun, dieser Weg hat den Vorteil, dass er auch funktioniert, wenn man einen Proxy-Server nutzt.

Code: Alles auswählen

#HTTP_QUERY_CONTENT_LENGTH=5

Procedure.q GetContentLength(Url$)
  Protected hINET, hURL, FileSizet.s=Space(20), Size=StringByteLength(FileSizet), FileSize.q
  hINET=InternetOpen_("blub",0,0,0,0)
  If hINET
    hURL =InternetOpenUrl_(hINET,Url$,0,0,$80000000,0) 
    If hURL
      HttpQueryInfo_(hURL,#HTTP_QUERY_CONTENT_LENGTH,@FileSizet,@Size,#Null)
      FileSize=Val(FileSizet)
      InternetCloseHandle_(hURL) 
      InternetCloseHandle_(hINET)
    Else
      InternetCloseHandle_(hINET)
    EndIf
  EndIf
  ProcedureReturn FileSize
EndProcedure

Verfasst: 21.02.2009 21:49
von RSBasic
@X0r
Funktioniert wunderbar, gut gemacht :allright:

Kann ich eigentlich dein Code in meiner WinAPI Library hinzufügen?

Verfasst: 21.02.2009 21:49
von X0r
>Kann ich eigentlich dein Code in meiner WinAPI Library hinzufügen?
Ja, da es nix besonderes ist.

Verfasst: 21.02.2009 21:55
von ts-soft
:allright:
2 Variablen wurde nicht deklariert: hINET, hURL
und ValQ ist veraltet, Val ist auch für Quad.

Gruß
Thomas

Verfasst: 21.02.2009 21:58
von X0r
>2 Variablen wurde nicht deklariert: hINET, hURL
Uuups.. :oops:

>und ValQ ist veraltet, Val ist auch für Quad.
Ja, benutze immernoch 4.1. Habs trotzdem mal abgeändert.