This is part of the code that I have written to access Yahoo!Finance. It is in Visual Basic 6.
Attribute VB_Name = "modInternet"
Option Explicit
Public Const IF_FROM_CACHE As Long = &H1000000
Public Const IF_MAKE_PERSISTENT As Long = &H2000000
Public Const IF_NO_CACHE_WRITE As Long = &H4000000
Public Const INTERNET_OPEN_TYPE_DIRECT As Long = 1
Const INTERNET_OPEN_TYPE_PRECONFIG = 0
Const INTERNET_FLAG_EXISTING_CONNECT = &H20000000
Public Declare Function InternetOpen Lib "wininet.dll" Alias "InternetOpenA" ( _
ByVal sAgent As String, _
ByVal lAccessType As Long, _
ByVal sProxyName As String, _
ByVal sProxyBypass As String, _
ByVal lFlags As Long) As Long
Public Declare Function InternetOpenUrl Lib "wininet.dll" Alias "InternetOpenUrlA" ( _
ByVal hInternetSession As Long, _
ByVal sURL As String, _
ByVal sHeaders As String, _
ByVal lHeadersLength As Long, _
ByVal lFlags As Long, _
ByVal lContext As Long) As Long
Public Declare Function InternetReadFile Lib "wininet.dll" (ByVal hFile As Long, ByVal sBuffer As String, ByVal lNumBytesToRead As Long, lNumberOfBytesRead As Long) As Integer
Public Declare Function InternetCloseHandle Lib "wininet.dll" (ByVal hInet As Long) As Integer
Public Declare Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, ByVal szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long
Public txtFolder As String
Public Const sPrefix = "http://finance.yahoo.com/q?s="
Public myIni As New clsIniFile
Public Sub DownloadFile(URL As String, SaveAsFile As String)
Dim B
B = URLDownloadToFile(0, URL, SaveAsFile, 0, 0)
End Sub
Public Function rDownloadUrlSource(ByVal URL As String, l As Label) As String
On Error Resume Next
Const BUFFER_LEN As Long = 1024
Dim hInternet&, hFile&, lReturn&, sBuffer As String * BUFFER_LEN
Dim lCount As Long
XErr.LogThis "In Download"
On Local Error GoTo URLSourceError
If LCase(Left(URL, Len("http://"))) <> "http://" Then
URL = "http://" + URL
End If
hInternet = InternetOpen("vb wininet", INTERNET_OPEN_TYPE_DIRECT, vbNullString, vbNullString, 0)
If hInternet = 0 Then
GoTo URLSourceError
End If
hFile = InternetOpenUrl(hInternet, URL, vbNullString, ByVal 0&, IF_NO_CACHE_WRITE, ByVal 0&)
If hFile = 0 Then
GoTo URLSourceError
End If
Call InternetReadFile(hFile, sBuffer, BUFFER_LEN, lReturn)
rDownloadUrlSource = Left(sBuffer, lReturn)
While Not lReturn = 0
Call InternetReadFile(hFile, sBuffer, BUFFER_LEN, lReturn)
rDownloadUrlSource = rDownloadUrlSource + Left(sBuffer, lReturn)
Wend
Call InternetCloseHandle(hInternet)
Exit Function
URLSourceError:
rDownloadUrlSource = vbNullString
If hInternet Then
Call InternetCloseHandle(hInternet)
End If
End Function
--------------------------------
I cannot give away all the code, because I have put in a lot of effort.