Solved

Downloading a web page...

Posted on 1998-11-20
7
143 Views
Last Modified: 2010-05-18
Does anyone know of an easy way to download a web page? I was doing: Site.text = Inet1.OpenURL(txtURL, 0) and then saving it to a file, but for some reason some web sites weren't complete.  It would grab like a random number of lines of the html code and then think it was done or something.  It didn't do that all the time, but enough that I need to find another method.
0
Comment
Question by:dokken
  • 4
  • 3
7 Comments
 
LVL 2

Expert Comment

by:KJHDI12
ID: 1445990
Try this:

Private Sub Command1_Click()

   ' ---------------------------------------------
   ' Tells Inet to connect to site and get file
   ' ---------------------------------------------
   Inet.URL = "http://www.sol.no/"
   Inet.Protocol = icHTTP
   Inet.RemoteHost = "www.sol.no"
   Inet.Execute "http://www.sol.no", "GET index.html"

End Sub

Private Sub Inet_StateChanged(ByVal State As Integer)

   ' ----------------------------------------------------
   ' State 12 happends when Inet has downloaded the page
   ' and is in the buffer
   ' ------------------------------------------------------
   If State = 12 Then
      Open "c:\index.html" For Output As #1
      Print #1, Inet.GetChunk(64000)  ' <- Size of page
      Close #1
   End If
   
End Sub


Mr. Fixit
0
 

Author Comment

by:dokken
ID: 1445991
Looks good except, I should have mentioned I don't always know what the html filename is called.  Sometimes it's just (using your example): http://www.sol.no/  is there anyway to grab the filename the web server uses as default in that case?
0
 

Author Comment

by:dokken
ID: 1445992
I just tried that one of the servers that I noticed was not saving the whole file, it's screws up just like the way I was doing it.  I don't think that Internet Control is going to work.
0
How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

 
LVL 2

Expert Comment

by:KJHDI12
ID: 1445993
Did you increase the Inet.GetChunk(64000) value? 64000 means 64k. Increase it to whatever maxsize you want.

When no filename is asked for it assumes it's index.html or index.htm.

Mr. Fixit
0
 

Author Comment

by:dokken
ID: 1445994
Size didn't matter, it would only get 1k... it cuts off near the top of the web page.  Maybe the Internet Control doesn't like some web server software.  If you want to play around with it, the site I found that duplicates the problem is: http://www.searchenginewatch.com
0
 
LVL 2

Accepted Solution

by:
KJHDI12 earned 40 total points
ID: 1445995

  hehe.. The solution was too easy..

Put multiple  "Print #1, Inet.GetChunk(64000)" after eachother.

One "Print #1, Inet.GetChunk(64000)" gets 2k. 2 ""Print #1, Inet.GetChunk(64000)" gets 4k etc...

Mr. Fixit


0
 

Author Comment

by:dokken
ID: 1445996
Thats strange :) but it works... thanks!
0

Featured Post

IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

Introduction I needed to skip over some file processing within a For...Next loop in some old production code and wished that VB (classic) had a statement that would drop down to the end of the current iteration, bypassing the statements that were c…
This article describes some techniques which will make your VBA or Visual Basic Classic code easier to understand and maintain, whether by you, your replacement, or another Experts-Exchange expert.
As developers, we are not limited to the functions provided by the VBA language. In addition, we can call the functions that are part of the Windows operating system. These functions are part of the Windows API (Application Programming Interface). U…
Get people started with the process of using Access VBA to control Outlook using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Microsoft Outlook. Using automation, an Access applic…

708 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

12 Experts available now in Live!

Get 1:1 Help Now