Ich bin nicht sicher, wie man die oben genannte Codefunktion erhält. Dieses ist Code, den ich pflege, um auf Webseiten zurückzugreifen. Es ist drittes oder der vierten Generation und recht robustes. Dieses ist ein komplettes Codemodul.
'clsInternetConnection
'
'Kategorie zur Verfügung stellt functionalty, um Webseiten zu lesen.
'
'Eingeführt wie ein Kategorienmodul für Gebrauch mit irgendeinem VB oder VBA Projekt.
'
'© Kevin 2008-2010 M. Jones
Wahl ausdrücklich
Privates Const INTERNET_OPEN_TYPE_PRECONFIG = 0
Privates Const INTERNET_FLAG_RELOAD = &H80000000
Privates Const INTERNET_FLAG_PRAGMA_NOCACHE = &H100
Privates Const INTERNET_OPTION_RECEIVE_TIMEOUT als lang = 6
Privates Const UserAgent = „VB“
Privates mConnectionHandle als lang
Private mTimeoutSeconds als lang
Privat Funktion InternetCloseHandle Bibliothek „wininet“ erklären (_
ByRef hInet als langes _
) Als lang
Privat Funktion InternetOpen Bibliothek „wininet“ alias „InternetOpenA“ erklären (_
ByVal sAgent als Schnur, _
ByVal lAccessType als lang, _
ByVal sProxyName als Schnur, _
ByVal sProxyBypass als Schnur, _
ByVal lFlags als langes _
) Als lang
Privat Funktion InternetOpenUrl Bibliothek „wininet“ alias „InternetOpenUrlA“ erklären (_
ByVal hInternetSession als lang, _
ByVal lpszUrl als Schnur, _
ByVal lpszHeaders als Schnur, _
ByVal dwHeadersLength als lang, _
ByVal dwFlags als lang, _
ByVal dwContext als langes _
) Als lang
Privat Funktion InternetReadFile Bibliothek „wininet“ erklären (_
ByVal hFile als lang, _
ByVal sBuffer als Schnur, _
ByVal lNumBytesToRead als lang, _
lNumberOfBytesRead als langes _
) Als ganze Zahl
Privat Funktion InternetSetOption Bibliothek „wininet.dll“ alias „InternetSetOptionA“ erklären (_
ByVal hInternet als lang, _
ByVal dwOption als lang, _
ByRef lpBuffer als irgendwelche, _
ByVal dwBufferLength als langes _
) Als lang
Privates VorClass_Initialize ()
mConnectionHandle = InternetOpen (UserAgent, INTERNET_OPEN_TYPE_PRECONFIG, vbNullString, vbNullString, 0)
Wenn mConnectionHandle = 0 dann
MsgBox „nicht imstande, einen Internetanschluss zu öffnen. Die höchstwahrscheinliche Ursache ist zu viele Handgriffe verursacht worden.“
Beenden wenn
mTimeoutSeconds = 30
Enden-Unterseeboot
Privates VorClass_Terminate ()
InternetCloseHandle mConnectionHandle
Enden-Unterseeboot
Allgemeine Funktion GetWebPage (_
ByVal URL als Schnur, _
Wahlweise freigestelltes ByVal ProxyUserID als Schnur, _
Wahlweise freigestelltes ByVal ProxyPassword als Schnur, _
Wahlweise freigestelltes ByVal TimeoutSeconds als langes _
) Als Schnur
'Eine Webseite erhalten.
'
'Syntax
'
'GetWebPage (URL, [ProxyUserID], [ProxyPassword])
'
'URL - Ein komplettes URL zu einer Webseite.
'
'ProxyUserID - die Benutzernummer für den Proxy-Server, wenn überhaupt. Wahlweise freigestellt. Wenn Sie ausgelassen
'dann angenommen kein Proxy-Server n.
'
'ProxyPassword - das Kennwort für den Proxy-Server. Wahlweise freigestellt. Ignoriert wenn
'ProxyUserID ausgelassen en.
'
'TimeoutSeconds - die Zahl den Sekunden, zum zu warten, bis heraus festsetzen. Wahlweise freigestellt.
', wenn sie dann ausgelassen, verwendet 30 Sekunden.
Schwaches ConnectionHandle als lang
Schwaches URLHandle als lang
Schwaches BytesRead als lang
Schwaches Resultat, wie Boolesch
Schwaches InputBuffer als Schnur * 10000
Schwaches PageContent als Schnur
Schwaches SecurityData als Schnur
Wenn Len (ProxyUserID) > 0 dann
SecurityData = ProxyUserID
Wenn Len (ProxyPassword) > 0 dann
SecurityData = SecurityData u. „: “ U. ProxyPassword
Beenden wenn
SecurityData = SecurityData u. „@“
URL = ersetzen (URL, „: /“, „: /“ u. SecurityData)
Beenden wenn
Wenn TimeoutSeconds = 0 dann TimeoutSeconds = mTimeoutSeconds
Wenn mConnectionHandle <> 0 dann
Resultat = InternetSetOption (mConnectionHandle, INTERNET_OPTION_RECEIVE_TIMEOUT, TimeoutSeconds * 1000, Len (TimeoutSeconds))
URLHandle = InternetOpenUrl (mConnectionHandle, URL, vbNullString, 0, INTERNET_FLAG_RELOAD oder INTERNET_FLAG_PRAGMA_NOCACHE, 0)
Wenn URLHandle <> 0 dann
Tun
InputBuffer = vbNullString
Resultat = InternetReadFile (URLHandle, InputBuffer, Len (InputBuffer), BytesRead)
PageContent = PageContent u. verließen (InputBuffer, BytesRead)
Schlingen während BytesRead > 0
InternetCloseHandle URLHandle
Beenden wenn
Beenden wenn
GetWebPage = PageContent
Enden-Funktion
Staatseigentum erhalten ValidInternetConnection () wie Boolesch
ValidInternetConnection = mConnectionHandle <> 0
Enden-Eigentum
Staatseigentum erhalten TimeoutSeconds () als lang
TimeoutSeconds = mTimeoutSeconds
Enden-Eigentum
Staatseigentum ließ TimeoutSeconds (_
ByVal Wert als langes _
)
mTimeoutSeconds = Wert
Enden-Eigentum
Kevin