A: 

You're looking for the WebClient class.

For example: (2nd EDIT: With GZIP; this code is tested and actually works)

string response;
using (var client = new WebClient()) {
    byte[] bytes = client.DownloadData(url);
    using(var reader = new StreamReader(new GZipStream(new MemoryStream(bytes), CompressionMode.Decompress)))
        response = reader.ReadToEnd();
}

However, if the URL returns raw XML, you can also load the XML directly from the URL, like this:

var doc = XDocument.Load(url);
SLaks
I get the following response when using WebClient? ‹¾¨Kí›_Ú8Àß‘î;ŒxºV»ÒP”M•ªÒƒAPÛGo0‹{!‰ƒ–o65...
TheLearner
That's an encoding problem.
SLaks
On further research, that's a GZIP problem.
SLaks
Do you know how to fix this problem?
TheLearner
Sorry didn't see your 2nd edit.
TheLearner
Thank's mate, you rock!
TheLearner