Hi everyone,
I have a program that getting data from a web page, so I created a function that downloading its source(saving to text file). My problem is I cannot download the web page of
LinkIn(This is the site that I'm getting the data at) but when I try downloading a sample web page(http://www.google.com.ph/), I can download it successfully. Don't know whats the error in this.
This is a sample web page:
http://www.linkedin.com/skills/skill/iPhone
Private 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
Private Declare Function InternetOpen Lib "wininet" Alias "InternetOpenA" (ByVal sAgent As String, ByVal lAccessType As Long, ByVal sProxyName As String, ByVal sProxyBypass As String, ByVal lFlags As Long) As Long
Private Declare Function InternetCloseHandle Lib "wininet" (ByVal hInet As Long) As Integer
Public Function InternetGetFile(sURLFileName As String, sSaveToFile As String, Optional bOverwriteExisting As Boolean = False) As Boolean
Dim lRet As Long
Const S_OK As Long = 0, E_OUTOFMEMORY = &H8007000E
Const INTERNET_OPEN_TYPE_PRECONFIG = 0, INTERNET_FLAG_EXISTING_CONNECT = &H20000000
Const INTERNET_OPEN_TYPE_DIRECT = 1, INTERNET_OPEN_TYPE_PROXY = 3
Const INTERNET_FLAG_RELOAD = &H80000000
On Error Resume Next
lRet = InternetOpen("", INTERNET_OPEN_TYPE_DIRECT, vbNullString, vbNullString, 0)
If bOverwriteExisting Then
If Len(Dir$(sSaveToFile)) Then
VBA.Kill sSaveToFile
End If
End If
If Len(Dir$(sSaveToFile)) = 0 Then
lRet = URLDownloadToFile(0&, sURLFileName, sSaveToFile, 0&, 0)
If Len(Dir$(sSaveToFile)) Then
InternetGetFile = True
Else
If lRet = E_OUTOFMEMORY Then
MsgBox "The buffer length is invalid or there was insufficient memory to complete the operation.", vbCritical + vbOKOnly, "Error while Downloading"
End
Else
MsgBox "Error occurred " & lRet & " (this is probably a proxy server error).", vbCritical + vbOKOnly, "Error while Downloading"
End
End If
InternetGetFile = False
End If
End If
On Error GoTo 0
End Function
Public Sub Download(ByVal url As String, ByVal location As String)
InternetGetFile url, location, True
End Sub