Förmiddag I inte sure hur man får det ovannämnt kodifierar arbetet. Detta är kodifierar mig använder för att ta fram rengöringsduksidor. Det är den tredje eller fjärde utvecklingen och nätt robustt. Detta är ett färdigt kodifierar enheten.
'clsInternetConnection
',
'Klassificera ger functionalty för att läsa rengöringsduksidor.
',
'Genomfört som en klassificeraenhet för bruk med någon VB eller VBA projektera.
',
'© Kevin 2008-2010 M. Jones
Explicit alternativ
Privata Const INTERNET_OPEN_TYPE_PRECONFIG = 0
Privata Const INTERNET_FLAG_RELOAD = &H80000000
Privata Const INTERNET_FLAG_PRAGMA_NOCACHE = &H100
Privata Const INTERNET_OPTION_RECEIVE_TIMEOUT som Long = 6
Privata Const UserAgent = ”VB”,
Privat mConnectionHandle som Long
Privata mTimeoutSeconds som Long
Privat förklara fungerar den InternetCloseHandle liben ”wininet” (_,
ByRef hInet som lång _,
) Som Long
Privat förklara fungerar pseudonymen ”InternetOpenA” för InternetOpen Lib”wininet” (_,
sAgent ByVal som stränger, _,
ByVal lAccessType som Long, _,
ByVal sProxyName som stränger, _,
ByVal sProxyBypass som stränger, _,
ByVal lFlags som lång _,
) Som Long
Privat förklara fungerar pseudonymen ”InternetOpenUrlA” för InternetOpenUrl Lib”wininet” (_,
ByVal hInternetSession som Long, _,
ByVal lpszUrl som stränger, _,
ByVal lpszHeaders som stränger, _,
ByVal dwHeadersLength som Long, _,
ByVal dwFlags som Long, _,
ByVal dwContext som lång _,
) Som Long
Privat förklara fungerar den InternetReadFile liben ”wininet” (_,
ByVal som är hFile som Long, _,
ByVal sBuffer som stränger, _,
ByVal lNumBytesToRead som Long, _,
lNumberOfBytesRead som lång _,
) Som heltal
Privat förklara fungerar pseudonymen ”InternetSetOptionA” för den InternetSetOption liben ”wininet.dll” (_,
ByVal hInternet som Long, _,
ByVal dwOption som Long, _,
ByRef lpBuffer som några, _,
ByVal dwBufferLength som lång _,
) Som Long
Privata underClass_Initialize ()
mConnectionHandle = InternetOpen (UserAgent, INTERNET_OPEN_TYPE_PRECONFIG, vbNullString, vbNullString, 0)
Om mConnectionHandle = 0 därefter
Oförmögna MsgBox ”att öppna en internetanslutning. Det mest rimlig orsakar är för många handtag har skapats.”,
Avsluta om
mTimeoutSeconds = 30
Avsluta suben
Privata underClass_Terminate ()
InternetCloseHandle mConnectionHandle
Avsluta suben
Allmänhet fungerar GetWebPage (_,
ByVal URL som stränger, _,
Valfria ByVal ProxyUserID som stränger, _,
Valfria ByVal ProxyPassword som stränger, _,
Valfria ByVal TimeoutSeconds som lång _,
) Som stränger
'Få en rengöringsduksida.
',
'Syntax
',
'GetWebPage (URL, [ProxyUserID], [ProxyPassword])
',
'URL - En färdig URL till en rengöringsduksida.
',
'ProxyUserID - användaren - ID för närståendeserveren, om någon. Valfritt. Om utelämnat
'därefter ingen närståendeserver antas.
',
'ProxyPassword - lösenordet för närståendeserveren. Valfritt. Ignorerat om
'ProxyUserID utelämnas.
',
'TimeoutSeconds - numrera av understöder till väntan, till det tajmar ut. Valfritt.
', om utelämnat därefter, 30 understöder används.
Dunkla ConnectionHandle som Long
Dunkla URLHandle som Long
Dunkla BytesRead som Long
Dunkelt resultat som Boolean
Dunkla InputBuffer som stränger * 10000
Dunkla PageContent som stränger
Dunkla SecurityData som stränger
Om Len (ProxyUserID) > 0 därefter
SecurityData = ProxyUserID
Om Len (ProxyPassword) > 0 därefter
SecurityData = SecurityData & ”: ” & ProxyPassword
Avsluta om
SecurityData = SecurityData & ”@”,
URL = byter ut (URL, ”: /”, ”: /” & SecurityData)
Avsluta om
Om TimeoutSeconds = 0 därefter TimeoutSeconds = mTimeoutSeconds
Om mConnectionHandle <> 0 därefter
Resultat = InternetSetOption (mConnectionHandle, INTERNET_OPTION_RECEIVE_TIMEOUT, TimeoutSeconds * 1000, Len (TimeoutSeconds))
URLHandle = InternetOpenUrl (mConnectionHandle, URL, vbNullString, 0, INTERNET_FLAG_RELOAD eller INTERNET_FLAG_PRAGMA_NOCACHE, 0)
Om URLHandle <> 0 därefter
Gör
InputBuffer = vbNullString
Resultat = InternetReadFile (URLHandle, InputBuffer, Len (InputBuffer), BytesRead)
PageContent = PageContent & lämnade (InputBuffer, BytesRead)
Kretsa stunder BytesRead > 0
InternetCloseHandle URLHandle
Avsluta om
Avsluta om
GetWebPage = PageContent
Avsluta fungerar
Den offentliga egenskapen får ValidInternetConnection () som Boolean
ValidInternetConnection = mConnectionHandle <> 0
Avsluta egenskapen
Den offentliga egenskapen får TimeoutSeconds () som Long
TimeoutSeconds = mTimeoutSeconds
Avsluta egenskapen
Den offentliga egenskapen l5At TimeoutSeconds (_,
ByVal värderar som lång _,
)
mTimeoutSeconds = värderar
Avsluta egenskapen
Kevin