This "FakeWebClient" will allow a C# application to send and receive cookies as part of the request. This behaviour is not available by default.
Please note that on line 35 there is a possible NullReferenceException, I managed this at a level higher but you may wish to handle it in the client.