Question : How to Submit HTML Form in VB.Net

I'm trying to figure out the best way to submit web forms via a .Net application (might be a desktop app, but could be a Web Service).

Right now, I am able to use the WebBrowser control to navigate to a page and then call the Document.Forms etc. properties to set form fields and submit the form. One peculiarity of this approach is that the WebBrowser object doesn't seem to update to reflect the resulting page after the submit.

In any case, I'm not even sure if WebBrowser control is the best approach. I'd like to have maximum flexibility to manipulate forms (e.g. set GET or POST, set field values, etc.) and parse web pages.

I have VS2008 and .NET 3.5. How should I approach this problem?

Answer : How to Submit HTML Form in VB.Net

well i had a few problems with vista and using a proxy, i can say that httpget works best. you can specify necessary variables via url.

1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
    Public Function httpGet(ByVal url As String) As String
            ' Creates an HttpWebRequest for the specified URL.
        Dim myHttpWebRequest As HttpWebRequest = CType(WebRequest.Create(url), HttpWebRequest)
        myHttpWebRequest.Proxy = WebRequest.DefaultWebProxy 'get default proxy settings
        myHttpWebRequest.Proxy.Credentials = CredentialCache.DefaultCredentials
 
        ' Sends the request and waits for a response.
        Dim myHttpWebResponse As HttpWebResponse = CType(myHttpWebRequest.GetResponse(), HttpWebResponse)
        ' Calls the method GetResponseStream to return the stream associated with the response.
        Dim receiveStream As Stream = myHttpWebResponse.GetResponseStream()
        Dim encode As Encoding = System.Text.Encoding.GetEncoding("utf-8")
        ' Pipes the response stream to a higher level stream reader with the required encoding format.
        Dim readStream As New StreamReader(receiveStream, encode)
        'Console.WriteLine(ControlChars.Lf + ControlChars.Cr + "Response stream received")
        Dim read(256) As [Char]
        ' Reads 256 characters at a time.
        httpGet = readStream.ReadToEnd()
        'Dim count As Integer = readStream.Read(read, 0, 256)
        'Console.WriteLine("HTML..." + ControlChars.Lf + ControlChars.Cr)
        'While count > 0
        '    ' Dumps the 256 characters to a string and displays the string to the console.
        '    Dim str As New [String](read, 0, count)
        '    Console.Write(str)
        '    count = readStream.Read(read, 0, 256)
        'End While
        'Console.WriteLine("")
        ' Releases the resources of the Stream.
        readStream.Close()
        ' Releases the resources of the response.
        myHttpWebResponse.Close()
    End Function
Random Solutions  
 
programming4us programming4us