views:

209

answers:

1

I read this MSDN like about it and ran its example. http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.useragent.aspx

when I change the uSerAgnet to something like "blah", the output is wrong but when I use the same thing that is in the example of even when I comment out the line of code that is setting the UserASgent, the output is correct.

what is UserAgent at all ? when should I set it ? How to know to what value should I set it ?

thanks

+2  A: 

The User Agent is used to identify the client and operating system etc. It's most commonly used in browsers. You can used the User Agent to specify who you are, and the web server can return a Response with data appropriate for you client. For instance my User Agent I used to access this site is: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_3; en-US) AppleWebKit/533.4 (KHTML, like Gecko) Chrome/5.0.375.70 Safari/533.4 Had I instead been a web crawler I would have used something else, something the web server would identify as a crawler, and the web server (the web developer) could have return a optimized page for indexing.

Unless you really need to, I would advice against coming up with you own User Agent, lack of standardization is a big enough issue in this field.

Are there any reason in particular you need to mess with the User Agent?

This page contain a list of many known User Agents.

Arkain
thanks, well I was looking at a code sample as bellow and it was setting the userAgent, then I searched the msdn and in their example they are also setting it ... but as we can see in my sample code below it is setting the userAgent to the name of that C# application that he is writing, in the msdn example it is set as "".NET Framework Test Client"" and as I said when I commented out that code in msdn link, nothing changed! it was still working
BDotA
here is also the sample code that I said in previous comment, there was no space for it in the previous comment to post it : if (wReq is HttpWebRequest) { ((HttpWebRequest)wReq).UserAgent = "CytoWSClient"; }
BDotA
You can set anything you want as the UserAgent, but the web server needs to be able to understand what to do with it. It's used to send customized results back to the client, such as a page fit for a mobile device, a browser or a crawler. If you just want the website as it's seen by your browser, you don't need to set the property, or at least set it to a known browser so you get a predicable result.
Arkain