HTTP requests can be made a number of different ways in .NET. The HttpRequest and WebClient (older) both provide functionality for creating HTTP requests. Below illustrates how to use each of these classes.

using Newtonsoft.Json;
using System.Collections.Generic;
using System.Net;
using System.Net.Http;
using System.Web.Mvc;

namespace WebApiTestApp.Controllers
{
    public class HomeController : Controller
    {
        // Using HttpClient class
        public ActionResult Index()
        {
            string temp = "";
            HttpClient client = new HttpClient();

            string result = client.GetStringAsync("http://us.battle.net/api/wow/data/character/races?locale=en_US").Result;

            Result re = JsonConvert.DeserializeObject<Result>(result);
            foreach (var race in re.races)
            {
                temp += race.Name + " ";
            }

            // Alternatively, don't deserialize to a type. Use a dynamic object instead.

            dynamic dyn = JsonConvert.DeserializeObject(result);

            foreach (var race in dyn.races)
            {
                temp += race.name + " ";
            }

            return View();
        }

        // Using WebClient
        public ActionResult Index2()
        {
            string temp = "";

            WebClient client = new WebClient();
            string result = client.DownloadString("http://us.battle.net/api/wow/data/character/races?locale=en_US");

            Result re = JsonConvert.DeserializeObject<Result>(result);
            foreach (var race in re.races)
            {
                temp += race.Name + " ";
            }

            return View();
        }
    }

    public class Result
    {
        public List<Race> races { get; set; }
    }

    public class Race
    {
        [JsonProperty("id")]
        public int Id { get; set; }

        [JsonProperty("mask")]
        public string Mask { get; set; }

        [JsonProperty("side")]
        public string Side { get; set; }

        [JsonProperty("name")]
        public string Name { get; set; }
    }
}