UPDATE: I've found that this is actually a known bug pre-.NET 4.5 where the Uri class is treating urls the same as it would paths on the desktop. On the desktop a trailing period never matters so it is stripped. Here is the answer in another Stack Overflow question:
link to answer with code example
Try wrapping the string in a Uri object first like I've done below. The code below worked just fine for me.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Net;
namespace DownloadString
{
class Program
{
static void Main(string[] args)
{
WebClient client = new WebClient();
Uri uri = new Uri("http://www.carsireland.ie/car-dealers/county/donegal/prestige-cars-ireland-ltd.");
string str = client.DownloadString(uri);
Console.WriteLine(str);
Console.ReadKey();
}
}
}
Let me know how it works!
Here is a fiddle of the same code to show that it works
As you mention in your comment, this does not work in .NET 4.0. I've also tested it in 3.5 and it does not work.
Upon further investigation I see that anything below .NET 4.5 will strip the period off of the end of the url before making the request. Here is an image showing two http requests in Fiddler. They were both made using the same code but the first was compiled using .NET 4.0, & the second was using .NET 4.5.
