PDA

Click to See Complete Forum and Search --> : Alternatives to InternetReadFile??


cLocKwOrk
Feb 20th, 2001, 09:06 PM
Hi all,

I was wondering is any of you knew an alternative API to InternetReadFile. I am currently using it with some success, but the only problem that I can see with it is that there is no timeout when hit a web page... so if its down the call never returns.

I know there is a InternetReadFileRev that allows you to specify the timeout, but the only problem with it is that it doesn't return the # of bytes read in. (So if I send it a 32byte buffer and it only reads in 20bytes, I want to know since the rest of the buffer will be filled with garbage).

My code looks something like this:


Public Function justReturnWholePageString(passedURL As String) As String

Dim newlinePosition As Integer
Dim hOpen As Long
Dim hOpenUrl As Long
Dim sUrl As String
Dim LineBuffer As String
Dim bDoLoop As Boolean
Dim bRet As Boolean
Dim sReadBuffer As String * 2048
Dim lNumberOfBytesRead As Long
Dim sBuffer As String

sUrl = passedURL
LineBuffer = ""
testLineCounter = 0

hOpen = InternetOpen(scUserAgent, INTERNET_OPEN_TYPE_PRECONFIG, vbNullString, vbNullString, 0)
hOpenUrl = InternetOpenUrl(hOpen, sUrl, vbNullString, 0, INTERNET_FLAG_RELOAD, 0)

bDoLoop = True
Application.ScreenUpdating = True
While (bDoLoop)
sReadBuffer = vbNullString
bRet = InternetReadFile(hOpenUrl, sReadBuffer, Len(sReadBuffer), lNumberOfBytesRead)
LineBuffer = LineBuffer & sReadBuffer

sBuffer = sBuffer & Left$(sReadBuffer, lNumberOfBytesRead)
If Not CBool(lNumberOfBytesRead) Then
bDoLoop = False
End If
Wend

justReturnWholePageString = sBuffer

If hOpenUrl <> 0 Then InternetCloseHandle (hOpenUrl)
If hOpen <> 0 Then InternetCloseHandle (hOpen)

End Function



Can anyone suggest an alternative for me?

TIA!

cLocKwOrk
Feb 21st, 2001, 02:05 PM
No one has any ideas on alternatives to InternetReadFile????