![]() |
![]() |
![]() |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() |
![]() |
To access the contents, click the chapter and section titles.
Visual Basic 6 Programming Blue Book: The Most Complete, Hands-On Resource for Writing Programs with Microsoft Visual Basic 6!
Listing 18.3 Objects and properties in ITC_DEMO.FRM. Begin VB.Form Form1 Begin VB.TextBox txtHeaders Height=285 Left=2280 TabIndex=14 Top=5280 Width=3495 End Begin VB.Frame Frame1 Caption=Command Begin VB.OptionButton optPUT Caption=Put End Begin VB.OptionButton optHead Caption=HEAD End Begin VB.OptionButton optPost Caption=POST End Begin VB.OptionButton optGet Caption=GET Value=-1 True End End Begin VB.TextBox txtInput End Begin VB.TextBox txtURL End Begin VB.CommandButton Command1 Caption=Quit Index=1 End Begin VB.CommandButton Command1 Caption=Execute Index=0 End Begin VB.TextBox txtStatus End Begin RichTextLib.RichTextBox RT1 End Begin InetCtlsObjects.Inet Inet1 End Begin VB.Label Label4 Alignment=1 Right Justify Caption=Request headers Begin VB.Label Label3 Alignment=1 Right Justify Caption=Input data End Begin VB.Label Label2 Alignment=1 Right Justify Caption=URL End Begin VB.Label Label1 Alignment=1 Right Justify Caption=Status End End The programs code is shown in Listing 18.4. When the user clicks on the Execute button, the program gathers the URL and command information from the various controls and uses the Execute method to send the resulting command to the specified URL. The response, if any, is displayed in the box. The current state of the Internet Transfer control is displayed in the Status box. If an error occurs, a dialog box pops up with information about the error. Listing 18.4 Code in ITC_DEMO.FRM. Option Explicit Private Sub Command1_Click(Index As Integer) Select Case Index Case 0 Execute Command1(0).Enabled = False Call Execute Case 1 Quit End End Select End Sub Private Sub Form_Load() Inet1.Protocol = icHTTP End Sub Private Sub Inet1_StateChanged(ByVal State As Integer) Dim S1 As String, s2 As String Select Case State Case icResolvingHost 1 txtStatus.Text = Looking up IP address of host computer Case icHostResolved 2 txtStatus.Text = IP address found Case icConnecting 3 txtStatus.Text = Connecting to host computer Case icConnected 4 txtStatus.Text = Connected Case icRequesting 5 txtStatus.Text = Sending a request to host computer Case icRequestSent 6 txtStatus.Text = Request sent Case icReceivingResponse 7 txtStatus.Text = Receiving a response from host computer Case icResponseReceived 8 txtStatus.Text = Response received Case icDisconnecting 9 txtStatus.Text = Disconnecting from host computer Case icDisconnected 10 txtStatus.Text = Disconnected Case icError 11 txtStatus.Text = Error & Inet1.ResponseCode & _ & Inet1.ResponseInfo MsgBox (txtStatus.Text) Command1(0).Enabled = True Case icResponseCompleted 12 txtStatus.Text = Request completed - all data received S1 = s2 = Do S1 = Inet1.GetChunk(512, icString) s2 = s2 & S1 Loop Until S1 = RT1.Text = s2 Command1(0).Enabled = True End Select End Sub Public Sub Execute() Dim Operation As String RT1.Text = If optGet.Value Then Operation = GET If optHead.Value Then Operation = HEAD If optPost.Value Then Operation = POST If optPut.Value Then Operation = PUT If txtInput.Text <> And txtHeaders.Text <> Then Inet1.Execute txtURL.Text, Operation, _ txtInput.Text, txtHeaders.Text ElseIf txtInput.Text <> Then Inet1.Execute txtURL.Text, Operation, txtInput.Text Else Inet1.Execute txtURL.Text, Operation End If End Sub Using The Internet Transfer Control For FTPFTP is similar to HTTP in that it is a protocol for transferring files between computers. It differs in not being a stateless protocol, because a control connection is maintained between client and server for the duration of an FTP session. It is also a lot more powerful than HTTP, with many more commands and security features. FTP Logons While HTTP servers require no logon, FTP servers do. Even if the server permits unrestricted access (called anonymous logon), your program must send a username and password. The username and password sent by the Internet Transfer control are determined by its Username and Password properties. The value of the Username property is sent to the remote server as the username for logon. If this property is blank (Null or ), then anonymous is sent. The process is a bit more complicated with the Password property, as explained in Table 18.2. There is one illegal combination: You cannot have a non-Null Password property combined with a Null Username property. Note that leaving both of these properties blank results in the standard anonymous FTP logon: a username of anonymous and a password consisting of your email address (as obtained from the system settings). I have experienced a bug in the Internet Transfer control where it sometimes does not send anonymous as the username when the Username property is blank. Perhaps this problem will be fixed, but you can easily work around it by explicitly assigning the string anonymous to the Username property. Using The OpenURL Method The OpenURL method is the easiest way to perform some FTP tasks. To obtain the directory of an FTP site (the directory is an FTP sites default file): Text1.Text = Inet1.OpenURL(<ftp://ftp.microsoft.com>, icString) To download a file from an FTP site, you need to use binary mode, unless you are sure it is a text file (although binary mode works fine for text files, too): Dim buf() as Byte buf() = Inet1.OpenURL(<ftp://ftp.microsoft.com/anyfile.exe> , _ icByteData) Then you can save the downloaded file to disk as follows: Open c:\programs\anyfile.exe" For Binary as #1 Put #1,, buf() Close #1
|
![]() |
Products | Contact Us | About Us | Privacy | Ad Info | Home
Use of this site is subject to certain Terms & Conditions, Copyright © 1996-2000 EarthWeb Inc. All rights reserved. Reproduction whole or in part in any form or medium without express written permission of EarthWeb is prohibited. Read EarthWeb's privacy statement. |