This documentation is archived and is not being maintained.

How to: Send an HTTP Request with Proxy

The .NET Compact Framework supports Web services. This example submits an HTTP GET request with or without a specified proxy.


In the following code example, a button click submits the request and processes the response. The request uses a proxy only if it is specified and uses the WebException class to handle any exceptions. It uses a StreamReader to read the HTML response into a character array buffer.

private void button1_Click(object sender, System.EventArgs e)
    // Get URL and proxy
    // from the text boxes.
    string url = txtURL.Text;
    string proxy = txtProxy.Text;

            WebProxy proxyObject = new WebProxy(proxy, 80);

            // Disable proxy use when the host is local.
            proxyObject.BypassProxyOnLocal = true;

            // HTTP requests use this proxy information.
            GlobalProxySelection.Select = proxyObject;

        WebRequest req = WebRequest.Create(url);
        WebResponse result = req.GetResponse();
        Stream ReceiveStream = result.GetResponseStream();
        Encoding encode = System.Text.Encoding.GetEncoding("utf-8");
        StreamReader sr = new StreamReader( ReceiveStream, encode );

        // Read the stream into arrays of 30 characters
        // to add as items in the list box. Repeat until
        // buffer is read.
        Char[] read = new Char[30];
        int count = sr.Read( read, 0, 30 );
        while (count > 0) 
            String str = new String(read, 0, count);
            count = sr.Read(read, 0, 30);
    catch(WebException ex)
       string message = ex.Message;
       HttpWebResponse response = (HttpWebResponse)ex.Response;
       if(null != response)
           message = response.StatusDescription;
    catch(Exception ex) 

Compiling the Code

This example requires references to the following namespaces:

See Also