[Gambas-user] Problem retreiving Headers with HttpClient
Laurent Carlier
lordheavym at ...626...
Tue Jul 10 22:59:29 CEST 2007
I'm delepping some kind of file downloader and i need to retreive the header
of the file i try to download if i want to guess the size of the file
(currently tagged with 'Content - Length:')
Unfortunatly i don't succeed :-/, the header i retreive is empty or garbaged.
I don't know if i've made a mistake or if it's a bug. The same url give a
correct header with hhtpget example.
The code :
PUBLIC _Download AS NEW HttpClient AS "_Download"
PRIVATE downloadBuffer AS String
PRIVATE sTempFile AS String
' Destination file
PRIVATE sDestFile AS String
PRIVATE oDestFile AS Stream
PRIVATE iDestFileSize AS Integer
PRIVATE iDestFileCurrentSize AS Integer
PUBLIC SUB run(URL AS String)
downloadBuffer = ""
WITH _Download
.URL = URL
.UserAgent = "Gambas Http/1.0"
.Get()
END WITH
END
PUBLIC SUB _Download_Connect()
PRINT "Connection found " & _download.URL
SLEEP 2
END
PUBLIC SUB _Download_Read()
DIM buffer AS String
DIM size AS Integer
DIM myLoop AS Integer
size = iDestFileSize
' Check for the size of the downloaded file
IF (size = 0)
FOR myLoop = 0 TO _Download.Headers.Count - 1
IF (InStr(_Download.Headers[MyLoop], "Content - Length:") > 0) THEN
PRINT "length found"
NEXT
ENDIF
IF Lof(LAST)
iDestFileCurrentSize = iDestFileCurrentSize + Lof(LAST)
IF (size = 0) THEN size = iDestFileCurrentSize
READ #LAST, buffer, Lof(LAST)
downloadBuffer &= buffer
PRINT iDestFileCurrentSize & " Downnload on " & size
ENDIF
END
PUBLIC SUB _Download_Error()
PRINT "Error " & _download.Status & " downloading " & _download.URL
END
PUBLIC SUB _Download_Finished()
FOR myLoop = 0 TO _Download.Headers.Count - 1
PRINT _Download.Headers[MyLoop]
NEXT
PRINT "finished"
END
Regards,
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.gambas-basic.org/pipermail/user/attachments/20070710/d94c0ecd/attachment.sig>
More information about the User
mailing list