How To Use the PostData Parameter in WebBrowser Control


The WebBrowser control has a Navigate method with PostData as a parameter. This allows the user to post data to the specified URL with the WebBrowser control.

More Information

Navigate specifications:

Navigates to the resource identified by a Universal Resource Locator (URL), or to the file identified by a full path.


   object.Navigate URL [Flags,] [TargetFrameName,] [PostData,] [Headers]

PostData Optional:

Data to send to the server during the HTTP POST transaction. For example, the POST transaction is used to send data gathered by an HTML form. If this parameter does not specify any post data, the Navigate method issues an HTTP GET transaction. This parameter is ignored if URL is not an HTTP URL.

NOTE: The post data specified by PostData is passed as a SAFEARRAY structure. The variant should be of type VT_ARRAY and point to a SAFEARRAY. The SAFEARRAY should be of element type VT_UI1, dimension one, and have an element count equal to the number of bytes of post data.

Sample to PostData to URL server

  1. Start Visual Basic. If Visual Basic is already running, choose New Project from the File menu (ALT, F, N). Form1 is created by default.
  2. Add a WebBrowser control (WebBrowser1) to Form1.
  3. Add a CommandButton (Command1) to Form1.
  4. Add the following code to the Command1_Click event of Form1:
          Sub Command1_Click()
    Dim URL As String
    Dim Flags As Long
    Dim TargetFrame As String
    Dim PostData() As Byte
    Dim Headers As String

    URL = "http://YourServer" ' A URL that will accept a POST
    Flags = 0
    TargetFrame = ""

    PostData = "Information sent to host"

    ' VB creates a Unicode string by default so we need to
    ' convert it back to Single byte character set.
    PostData = StrConv(PostData, vbFromUnicode)

    Headers = "Content-Type: application/x-www-form-urlencoded" & _
    WebBrowser1.Navigate URL, Flags, TargetFrame, PostData, Headers
    End Sub

  5. Press the F5 key to run the program and the information in the PostData variable will be sent to the server specified in the URL parameter.

Article ID: 174923 - Last Review: Aug 18, 2005 - Revision: 1