Trying to download HTML, HTML gets cut off half way through downloading?

Pete

New member
Joined
Aug 23, 2005
Messages
2
Programming Experience
Beginner
[RESOLVED]Trying to download HTML, HTML gets cut off half way through downloading?

VB.NET:
Expand Collapse Copy
 [size=2][color=#0000ff]
 
Public[/color][/size][size=2][color=#0000ff]Class[/color][/size][size=2] Form1
 
[/size][size=2][color=#0000ff]Inherits[/color][/size][size=2] System.Windows.Forms.Form
 
[/size][size=2][color=#0000ff]Public[/color][/size][size=2][color=#0000ff]Const[/color][/size][size=2] TR_HOSTNAME [/size][size=2][color=#0000ff]As[/color][/size][size=2][color=#0000ff]String[/color][/size][size=2] = "www.example.com"
 
[/size][size=2][color=#0000ff]Public[/color][/size][size=2][color=#0000ff]Const[/color][/size][size=2] USER_Agent [/size][size=2][color=#0000ff]As[/color][/size][size=2][color=#0000ff]String[/color][/size][size=2] = "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.10) Gecko/20050716 Firefox/1.0.6"
 
[/size][size=2][color=#0000ff]Private[/color][/size][size=2][color=#0000ff]Function[/color][/size][size=2] makeRequest([/size][size=2][color=#0000ff]ByVal[/color][/size][size=2] hostname [/size][size=2][color=#0000ff]As[/color][/size][size=2][color=#0000ff]String[/color][/size][size=2], [/size][size=2][color=#0000ff]ByVal[/color][/size][size=2] URI [/size][size=2][color=#0000ff]As[/color][/size][size=2][color=#0000ff]String[/color][/size][size=2]) [/size][size=2][color=#0000ff]As[/color][/size][size=2][color=#0000ff]String
 
 
 
[/color][/size][size=2][color=#0000ff]Dim[/color][/size][size=2] tcp [/size][size=2][color=#0000ff]As[/color][/size][size=2][color=#0000ff]New[/color][/size][size=2] System.Net.Sockets.TcpClient
 
tcp.NoDelay = [/size][size=2][color=#0000ff]True
 
[/color][/size][size=2]tcp.Connect(hostname, 80)
 
[/size][size=2][color=#0000ff]Dim[/color][/size][size=2] sendbytes [/size][size=2][color=#0000ff]As[/color][/size][size=2][color=#0000ff]Byte[/color][/size][size=2](), request [/size][size=2][color=#0000ff]As[/color][/size][size=2][color=#0000ff]String
 
[/color][/size][size=2]request = "GET /" & URI & " HTTP/1.0" & ControlChars.CrLf & _
 
"Host: " & hostname & ControlChars.CrLf & _
 
"User-Agent: " & USER_Agent & ControlChars.CrLf & _
 
"Connection: Close" & ControlChars.CrLf & ControlChars.CrLf
 
sendbytes = System.Text.Encoding.ASCII.GetBytes(request)
 
[/size][size=2][color=#0000ff]Dim[/color][/size][size=2] netstream [/size][size=2][color=#0000ff]As[/color][/size][size=2] System.Net.Sockets.NetworkStream
 
netstream = tcp.GetStream()
 
netstream.Write(sendbytes, 0, sendbytes.Length)
 
tcp.ReceiveBufferSize = 10485764
 
[/size][size=2][color=#0000ff]Dim[/color][/size][size=2] recv(tcp.ReceiveBufferSize) [/size][size=2][color=#0000ff]As[/color][/size][size=2][color=#0000ff]Byte
 
[/color][/size][size=2]netstream.Read(recv, 0, [/size][size=2][color=#0000ff]CInt[/color][/size][size=2](tcp.ReceiveBufferSize))
 
[/size][size=2][color=#0000ff]Dim[/color][/size][size=2] out [/size][size=2][color=#0000ff]As[/color][/size][size=2][color=#0000ff]String
 
[/color][/size][size=2]out = System.Text.Encoding.ASCII.GetString(recv)
 
 
 
[/size][size=2][color=#0000ff]Return[/color][/size][size=2] out
 
[/size][size=2][color=#0000ff]End[/color][/size][size=2][color=#0000ff]Function
 
 
 
[/color][/size][size=2]#[/size][size=2][color=#0000ff]Region[/color][/size][size=2] " Windows Form Designer generated code "
 
[/size][size=2][color=#0000ff]Public[/color][/size][size=2][color=#0000ff]Sub[/color][/size][size=2][color=#0000ff]New[/color][/size][size=2]()
 
[/size][size=2][color=#0000ff]MyBase[/color][/size][size=2].New()
 
[/size][size=2][color=#008000]'This call is required by the Windows Form Designer.
 
[/color][/size][size=2]InitializeComponent()
 
[/size][size=2][color=#008000]'Add any initialization after the InitializeComponent() call
 
[/color][/size][size=2][color=#0000ff]End[/color][/size][size=2][color=#0000ff]Sub
 
[/color][/size][size=2][color=#008000]'Form overrides dispose to clean up the component list.
 
[/color][/size][size=2][color=#0000ff]Protected[/color][/size][size=2][color=#0000ff]Overloads[/color][/size][size=2][color=#0000ff]Overrides[/color][/size][size=2][color=#0000ff]Sub[/color][/size][size=2] Dispose([/size][size=2][color=#0000ff]ByVal[/color][/size][size=2] disposing [/size][size=2][color=#0000ff]As[/color][/size][size=2][color=#0000ff]Boolean[/color][/size][size=2])
 
[/size][size=2][color=#0000ff]If[/color][/size][size=2] disposing [/size][size=2][color=#0000ff]Then
 
[/color][/size][size=2][color=#0000ff]If[/color][/size][size=2][color=#0000ff]Not[/color][/size][size=2] (components [/size][size=2][color=#0000ff]Is[/color][/size][size=2][color=#0000ff]Nothing[/color][/size][size=2]) [/size][size=2][color=#0000ff]Then
 
[/color][/size][size=2]components.Dispose()
 
[/size][size=2][color=#0000ff]End[/color][/size][size=2][color=#0000ff]If
 
[/color][/size][size=2][color=#0000ff]End[/color][/size][size=2][color=#0000ff]If
 
[/color][/size][size=2][color=#0000ff]MyBase[/color][/size][size=2].Dispose(disposing)
 
[/size][size=2][color=#0000ff]End[/color][/size][size=2][color=#0000ff]Sub
 
[/color][/size][size=2][color=#008000]'Required by the Windows Form Designer
 
[/color][/size][size=2][color=#0000ff]Private[/color][/size][size=2] components [/size][size=2][color=#0000ff]As[/color][/size][size=2] System.ComponentModel.IContainer
 
[/size][size=2][color=#008000]'NOTE: The following procedure is required by the Windows Form Designer
 
[/color][/size][size=2][color=#008000]'It can be modified using the Windows Form Designer. 
 
[/color][/size][size=2][color=#008000]'Do not modify it using the code editor.
 
[/color][/size][size=2][color=#0000ff]Friend[/color][/size][size=2][color=#0000ff]WithEvents[/color][/size][size=2] cmdGetHTML [/size][size=2][color=#0000ff]As[/color][/size][size=2] System.Windows.Forms.Button
 
[/size][size=2][color=#0000ff]Friend[/color][/size][size=2][color=#0000ff]WithEvents[/color][/size][size=2] txtHTML [/size][size=2][color=#0000ff]As[/color][/size][size=2] System.Windows.Forms.TextBox
 
<System.Diagnostics.DebuggerStepThrough()> [/size][size=2][color=#0000ff]Private[/color][/size][size=2][color=#0000ff]Sub[/color][/size][size=2] InitializeComponent()
 
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].cmdGetHTML = [/size][size=2][color=#0000ff]New[/color][/size][size=2] System.Windows.Forms.Button
 
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].txtHTML = [/size][size=2][color=#0000ff]New[/color][/size][size=2] System.Windows.Forms.TextBox
 
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].SuspendLayout()
 
[/size][size=2][color=#008000]'
 
[/color][/size][size=2][color=#008000]'cmdGetHTML
 
[/color][/size][size=2][color=#008000]'
 
[/color][/size][size=2][color=#0000ff]Me[/color][/size][size=2].cmdGetHTML.Location = [/size][size=2][color=#0000ff]New[/color][/size][size=2] System.Drawing.Point(88, 96)
 
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].cmdGetHTML.Name = "cmdGetHTML"
 
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].cmdGetHTML.Size = [/size][size=2][color=#0000ff]New[/color][/size][size=2] System.Drawing.Size(128, 48)
 
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].cmdGetHTML.TabIndex = 0
 
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].cmdGetHTML.Text = "Get HTML"
 
[/size][size=2][color=#008000]'
 
[/color][/size][size=2][color=#008000]'txtHTML
 
[/color][/size][size=2][color=#008000]'
 
[/color][/size][size=2][color=#0000ff]Me[/color][/size][size=2].txtHTML.Location = [/size][size=2][color=#0000ff]New[/color][/size][size=2] System.Drawing.Point(56, 168)
 
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].txtHTML.Multiline = [/size][size=2][color=#0000ff]True
 
[/color][/size][size=2][color=#0000ff]Me[/color][/size][size=2].txtHTML.Name = "txtHTML"
 
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].txtHTML.ReadOnly = [/size][size=2][color=#0000ff]True
 
[/color][/size][size=2][color=#0000ff]Me[/color][/size][size=2].txtHTML.ScrollBars = System.Windows.Forms.ScrollBars.Both
 
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].txtHTML.Size = [/size][size=2][color=#0000ff]New[/color][/size][size=2] System.Drawing.Size(176, 80)
 
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].txtHTML.TabIndex = 2
 
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].txtHTML.Text = ""
 
[/size][size=2][color=#008000]'
 
[/color][/size][size=2][color=#008000]'Form1
 
[/color][/size][size=2][color=#008000]'
 
[/color][/size][size=2][color=#0000ff]Me[/color][/size][size=2].AutoScaleBaseSize = [/size][size=2][color=#0000ff]New[/color][/size][size=2] System.Drawing.Size(5, 13)
 
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].ClientSize = [/size][size=2][color=#0000ff]New[/color][/size][size=2] System.Drawing.Size(292, 266)
 
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].Controls.Add([/size][size=2][color=#0000ff]Me[/color][/size][size=2].txtHTML)
 
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].Controls.Add([/size][size=2][color=#0000ff]Me[/color][/size][size=2].cmdGetHTML)
 
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].Name = "Form1"
 
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].Text = "Form1"
 
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].ResumeLayout([/size][size=2][color=#0000ff]False[/color][/size][size=2])
 
[/size][size=2][color=#0000ff]End[/color][/size][size=2][color=#0000ff]Sub
 
[/color][/size][size=2]#[/size][size=2][color=#0000ff]End[/color][/size][size=2][color=#0000ff]Region
 
 
 
[/color][/size][size=2][color=#0000ff]Private[/color][/size][size=2][color=#0000ff]Sub[/color][/size][size=2] cmdGetHTML_Click([/size][size=2][color=#0000ff]ByVal[/color][/size][size=2] sender [/size][size=2][color=#0000ff]As[/color][/size][size=2] System.Object, [/size][size=2][color=#0000ff]ByVal[/color][/size][size=2] e [/size][size=2][color=#0000ff]As[/color][/size][size=2] System.EventArgs) [/size][size=2][color=#0000ff]Handles[/color][/size][size=2] cmdGetHTML.Click
 
txtHTML.Text = makeRequest("http://www.example.com", "example.phtml")
 
[/size][size=2][color=#0000ff]End[/color][/size][size=2][color=#0000ff]Sub
 
End[/color][/size][size=2][color=#0000ff]Class
 
[/color][/size]

I can't figure out why its not working..it's not the number of characters, for it occurs at different points on different pages, but always at the same point on same page.

=/


Turns out it needed to be in UTF-8 not ASCII :S
 
Last edited:
kulrom posted an example on here on how to get html code without the use of a browser

here's the function that does that (I hope kulrom doesnt mind my posting this):

VB.NET:
Expand Collapse Copy
	Friend Function GetHtmlCode(ByVal URL As String) As String
		Dim webreq As HttpWebRequest
		webreq = System.Net.HttpWebRequest.Create(URL)
		Dim webresp As HttpWebResponse
		webresp = webreq.GetResponse()
		Dim strm As StreamReader = New StreamReader(webresp.GetResponseStream(), Encoding.ASCII)
		Dim sLine As String = strm.ReadToEnd
		strm.Close()
		Return sLine
	End Function
 
Back
Top