Προς το περιεχόμενο

VB6 Download HTML page


pax1973

Προτεινόμενες αναρτήσεις

Δημοσ.

Προσπαθώ μέσα από την VB6 να κατεβάζω μία ιστοσελίδα και να την αποθηκεύω σε HTML όπως κάνω με το Internet explorer. Αν μπορούσε κάποιος να με βοηθήσει στέλνοντας πιθανών μερικές γραμμές κώδικα.

Δημοσ.

Μπορείς να χρησιμοποιήσεις το Microsoft Internet Transfer Control (MSinet.ocx) που είναι αρκετά απλό ή τον παρακάτω κώδικα (API)

 

>
Private Const INTERNET_FLAG_RESYNCHRONIZE = &H800
Private Const INTERNET_FLAG_PRAGMA_NOCACHE = &H100
Private Const INTERNET_FLAG_PASSIVE = &H8000000
Private Const INTERNET_FLAG_NEED_FILE = &H10
Private Const INTERNET_FLAG_KEEP_CONNECTION = &H400000
Private Const INTERNET_FLAG_IGNORE_CERT_DATE_INVALID = &H2000
Private Const INTERNET_FLAG_HYPERLINK = &H400

Private Const INTERNET_OPEN_TYPE_DIRECT As Long = 1
Private Const INTERNET_OPEN_TYPE_PRECONFIG As Long = 0
Private Const INTERNET_OPEN_TYPE_PRECONFIG_WITH_NO_AUTOPROXY As Long = 4
Private Const INTERNET_OPEN_TYPE_PROXY As Long = 3

Private Const INTERNET_FLAG_RELOAD = &H80000000
Private Declare Function InternetCloseHandle Lib "wininet.dll" (ByRef hInternet As Long) As Boolean
'Private Declare Function InternetConnect Lib "wininet.dll" Alias "InternetConnectA" (ByRef hInternet As Long, ByVal lpszServerName As String, ByRef nServerPort As INTERNET_PORT, ByVal lpszUserName As String, ByVal lpszPassword As String, ByVal dwService As Long, ByVal dwFlags As Long, ByRef dwContext As Long) As Long
Private Declare Function InternetOpen Lib "wininet.dll" Alias "InternetOpenA" (ByVal lpszAgent As String, ByVal dwAccessType As Long, ByVal lpszProxy As String, ByVal lpszProxyBypass As String, ByVal dwFlags As Long) As Long
Private Declare Function InternetOpenUrl Lib "wininet.dll" Alias "InternetOpenUrlA" (ByVal hInternet As Long, ByVal lpszUrl As String, ByVal lpszHeaders As String, ByVal dwHeadersLength As Long, ByVal dwFlags As Long, ByRef dwContext As Long) As Long
Private Declare Function InternetReadFile Lib "wininet.dll" (ByVal hFile As Long, ByRef lpBuffer As Any, ByVal dwNumberOfBytesToRead As Long, ByRef lpdwNumberOfBytesRead As Long) As Integer
'Private Declare Function InternetReadFileEx Lib "wininet.dll" Alias "InternetReadFileExA" (ByRef hFile As Long, ByRef lpBuffersOut As INTERNET_BUFFERSA, ByVal dwFlags As Long, ByVal dwContext As Long) As Long



Function GetWebPage(aPage As String) As String
Dim hInter As Long, hFile As Long
Dim dwRead As Long, buffer(0 To 1022) As Byte, m_strURL As String
Dim i As Long, aTimer

hInter = InternetOpen(App.EXEName, INTERNET_OPEN_TYPE_PRECONFIG, "", "", 0)
If hInter <> 0 Then
   hFile = InternetOpenUrl(hInter, aPage, "", 0, 0, 0)
   If hFile <> 0 Then
       Do While InternetReadFile(hFile, buffer(0), 1023, dwRead)
           If dwRead = 1023 Then
               m_strURL = m_strURL & StrConv(buffer, vbUnicode)
           Else
               If dwRead = 0 Then Exit Do
               m_strURL = m_strURL & Left(StrConv(buffer, vbUnicode), dwRead)
           End If
       Loop
       InternetCloseHandle hFile
   End If
   
   InternetCloseHandle hInter
End If

GetWebPage = m_strURL
   
End Function

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...