tags:

views:

36

answers:

1

I am using the WebClient class with cookies as mentioned here: http://stackoverflow.com/questions/1777221/c-using-cookiecontainer-with-webclient-class

What steps are required to add a custom user agent to every request made by this WebClient?

I tried to put the

Headers.Add(HttpRequestHeader.UserAgent, "...") 

line into

protected override WebRequest GetWebRequest

but that did not work: "This header must be modified using the appropriate property".

A: 

from http://msdn.microsoft.com/en-us/library/system.net.webclient.aspx ,

using System;
using System.Net;
using System.IO;

    public class Test
    {
        public static void Main (string[] args)
        {
            if (args == null || args.Length == 0)
            {
                throw new ApplicationException ("Specify the URI of the resource to retrieve.");
            }
            WebClient client = new WebClient ();

            // Add a user agent header in case the 
            // requested URI contains a query.

            client.Headers.Add ("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)");

            Stream data = client.OpenRead (args[0]);
            StreamReader reader = new StreamReader (data);
            string s = reader.ReadToEnd ();
            Console.WriteLine (s);
            data.Close ();
            reader.Close ();
        }
    }
VOX
@VOX: Did you know your code was unformatted? Next time, please select it in the editor and press Control-K.
John Saunders