Difference between revisions of "Internet Transfer Control in VB6"

From Free Knowledge Base- The DUCK Project: information for everyone
Jump to: navigation, search
m
(Using the OpenURL Method to Retrieve an HTML Page)
Line 72: Line 72:
 
   <nowiki>End Sub</nowiki>
 
   <nowiki>End Sub</nowiki>
  
Example 2: VBA, Uses the internet transfer control with HTTP to create an HTML page.   
+
Example 2: Using byte array then converting
 +
 
 +
Private Sub cmdGo_Click()
 +
  Dim bAr() As Byte, cnt As Integer
 +
  inet.Protocol = icHTTP
 +
  inet.URL = txtAddress.Text
 +
  bAr() = inet.OpenURL(, icByteArray)
 +
  txtOut.Text = StrConv(bAr, vbUnicode)
 +
End Sub
 +
 
 +
Example 3: VBA, Uses the internet transfer control with HTTP to create an HTML page.   
  
 
   <nowiki>Dim objInet as Inet</nowiki>
 
   <nowiki>Dim objInet as Inet</nowiki>

Revision as of 16:28, 6 February 2008

Properties

AccessType property
  • icUseDefault
  • icDirect
  • icNamedProxy
protocols
  • icUnknown
  • icDefault
  • icFTP
  • icGopher
  • icHTTP
  • icHTTPS

icHTTP and icFTP

  • URL - The complete URL of what you want to communicate with. e.g. http://wiki.robotz.com/
  • RemoteHost - The name/IP address of the remote host you are connecting with.
  • RemotePort - The port to connect on. For HTTP connections, you want port 80. For FTP, port 21.
  • Document - The name of an individual document
  • UserName - Username to login with
  • Password - Password that goes with the username

Inet Control States

The Internet Transfer Control provides us with one event, StateChanged. And, when this event is raised, it provides only one parameters, State. We can use this parameter to detect what state the control is in, and then react accordingly.

State constants:

  • icConnected (4) - Connected
  • icConnecting (3) - Connecting
  • icDisconnected (10) - Disconnected
  • icDisconnecting (9) - Disconnecting
  • icError (11) - An error has occurred
  • icHostResolved (2) - The remote address given has been accepted
  • icNone (0) - No current state
  • icReceivingResponse (7) - A response is current being received
  • icRequesting (5) - Data is currently being requested
  • icRequestSent (6) - A data request has been sent
  • icResolvingHost (1) - The remote address given is currently being checked
  • icResponseCompleted (12) - A response was successfully completed
  • icResponseReceived (8) - A response has been received

icConnected provides you with a failsafe way of knowing that you are connected to a remote machine. As icDisconnected also provides you with a way of knowing when you are offline. Probably the most useful constant is icError. This tells us that an error has occurred.

ErrorConstants:

  • icBadUrl
  • icCannotConnect
  • icConnectFailed
  • icConnectionAborted
  • icNoRemoteHost
On Error Goto vbErrHand

vbErrHand:
Msgbox Err.Description

There is no way to detect runtime errors.

 

Using the OpenURL Method to Retrieve an HTML Page

Example 1: VB6

 Private Sub cmdGo_Click()
   inet.Protocol = icHTTP
   inet.URL = txtAddress.Text
   txtOut.Text = inet.OpenURL
 
 End Sub
 
 Private Sub Form_Load()
   txtAddress.Text = "http://wiki.robotz.com"
 End Sub

Example 2: Using byte array then converting

Private Sub cmdGo_Click()
  Dim bAr() As Byte, cnt As Integer
  inet.Protocol = icHTTP
  inet.URL = txtAddress.Text
  bAr() = inet.OpenURL(, icByteArray)
  txtOut.Text = StrConv(bAr, vbUnicode)
End Sub

Example 3: VBA, Uses the internet transfer control with HTTP to create an HTML page.

 Dim objInet as Inet
 
 Private Sub Form_Load()
    ' Set a reference to the internet transfer control.
    Set objInet = Me!axInetTran.Object
 End Sub
 
 Private Sub cmdWriteFile_Click()
    Dim b() as Byte
 
    ' Set the internet transfer control protocol and URL.
    objInet.Protocol = icHTTP
    objInet.URL = "HTTP://www.microsoft.com"
 
    ' Retrieve the HTML data into a byte array.
    b() = objInet.OpenURL(objInet.URL,icByteArray)
 
    ' Create a local file from the retrieved data.
    Open "C:\Homepage.htm" For Binary Access Write As #1
    Put #1, , b()
    Close #1
 
    MsgBox "Done"
 End Sub
 
 Private Sub cmdGetHeader_Click()
    ' Set the internet transfer control protocol and URL.
    objInet.Protocol = icHTTP
    objInet.URL = "HTTP://www.microsoft.com"
 
    ' Open the HTML and display the header information.
    objInet.openURL objInet.URL, icByteArray
    MsgBox objInet.GetHeader
 End Sub

 

FTP Files Using the Internet Transfer Control

You can easily FTP files between a client and host computer.

Port Service
21 File Transfer Protocol (FTP)
25 Simple Mail Transfer Protocol (SMTP)
79 Finger
80 Hypertext Transfer Protocol (HTTP)
443 Secure Hypertext Transfer Protocol (HTTPS)
666 DOOM multiplayer game port

Example 3: VBA, Retrieve a File from an FTP Site

 Private Sub Form_Load()
    ' Set a reference to the internet transfer control.
    Set objFTP = Me!axFTP.Object
 End Sub
 
 Private Sub cmdGetFile_Click()
    Dim strSite As String
    Dim strFile As String
    strSite = Me!txtFTPSite
    strFile = Me!txtFileName
    objFTP.Protocol = icFTP
    objFTP.URL = strSite
    objFTP.Execute strSite, "Get " & strFile & " C:\" & strFile
 End Sub
 
 Private Sub axFTP_StateChanged(ByVal State As Integer)
    ' Display a message when the transfer is finished.
    If State = 12 Then Msgbox "File Transferred"
 End Sub