[RESOLVED]Trying to download HTML, HTML gets cut off half way through downloading?
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
VB.NET:
[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: