Question

I have a program where users input a complete URL with URL-encoded query string, and it send that to the web.

I am using the httpwebrequest in vb2005

I get an error from the websites saying that I should send a content length

if the URL is http://www.someurl.com/query.php?q=somtext&param1=paramtext&param2=paramtext2

how do I get the content length from a URL, as there is no way to know this automatically?

EDIT

i decided to use this, is this correct

Private Function GetHtmlFromUrl(ByVal url As String, _
                                   Optional ByVal PostData As String = vbNullString) As String

        If url.ToString() = vbNullString Then
            Throw New ArgumentNullException("url", "Parameter is null or empty")
        End If
        Dim html As String = vbNullString
        Dim myUrl As New System.Uri(url)
        Dim request As HttpWebRequest = WebRequest.Create(url)
        With request
            .ContentType = "Content-Type: application/x-www-form-urlencoded"
            .Method = "POST"
            .UserAgent = "Mozilla/4.0 (MSIE 6.0; Windows NT 5.1)"
            .Referer = "http://www.google.com"
            .ContentLength = myUrl.Query.Length
        End With



        Try
            Dim response As HttpWebResponse = request.GetResponse()
            Dim reader As StreamReader = New StreamReader(response.GetResponseStream())
            html = Trim$(reader.ReadToEnd)
            Return html
        Catch ex As WebException
            Return ex.Message
        End Try

    End Function

No correct solution

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top