Respuesta de API StackExchange no analizable

He escrito un pequeño programa para analizar los datos de mi perfil desde la API de StackExchange, pero la API me devuelve datos no analizados / ilegibles.

Datos recividos: (auto descargado usando c #)

\ u001f \ b \ 0 \ 0 \ 0 \ 0 \ 0 \ u0004 \ 0mRMo 0 \ f /: d $ c˱ ' ^ {/ \ u0006 \ u0018G > \ I \ u0015 \ u0004 ݀ D> GR L' o \ u0004 G % JP \ u001c - Em> 0 X bm ~ \ u0018tk \ u0014 M] r dLG v0 ~ Fj = 1 \ u00031I > kTRA \ "(/ +. ; Nl \ u0018 ? h \ u0014 P 藄 X aL w # 3 \ u0002 + \ u007f \ u0010 \ u000f p ] v \ u007f \ t ڧ \ nf ״ \ u0018 \ u0014eƺ _ 1x # j ^ - c AX \ t \ u001aT @ qj \ u001aU7 \ u0014 \ "\ a ^ \ b # \ u001e QG % y \ t ח q00K \ av \ u0011 {ظ \ u0005 \ "\ u001d + | \ u007f ' \ u0016 ~ 8 \ u007f \ u0001-h ] O \ u007fV o \ u007f \ u0001 ~ Y \ u0003 \ u0002 \ 0 \ 0

Datos deseados: (copiado de mi navegador)

{"items": [{"badge_counts", {"bronze": 987, "silver": 654, "gold": 321}, "account_id": 123456789, "is_employee": false, "last_modified_date": 1250612752, " fecha_acceso_último ": 1250540770," edad ": 0," reputación_cambiar_año ": 987," reputación_cambiar_cuartero ": 654," reputación_cambiar_meses ": 321," reputación_cambiar_week ": 98," reputación_cambiar_día ": 76," reputación ": 9876," fecha_crear " : 1109670518, "user_type": "registrado", "user_id": 123456789, "accept_rate": 0, "location": "Australia", "website_url": "http://example.org","enlazar":"http://example.org/username","imagen de perfil":"http://example.org/username/icon.png"," display_name ":" username "}]," has_more ": false," quota_max ": 300," quota_remaining ": 300}

He escrito este método (extensión) para descargar una cadena de internet:

public static string DownloadString(this string link)
{
    WebClient wc = null;
    string s = null;
    try
    {
        wc = new WebClient();
        wc.Encoding = Encoding.UTF8;
        s = wc.DownloadString(link);
        return s;
    }
    catch (Exception)
    {
        throw;
    }
    finally
    {
        if (wc != null)
        {
            wc.Dispose();
        }
    }
    return null;
}

Luego busqué en Internet y encontré un método para descargar cadenas, usando algunas otras tácticas:

public string DownloadString2(string link)
{
    WebClient client = new WebClient();
    client.Encoding = Encoding.UTF8;
    Stream data = client.OpenRead(link);
    StreamReader reader = new StreamReader(data);
    string s = reader.ReadToEnd();
    data.Close();
    reader.Close();
    return s;
}

Pero ambos métodos devuelven los mismos datos (no leídos / no analizables).

¿Cómo puedo obtener datos legibles de la API? ¿Falta algo?

Respuestas a la pregunta(1)

Su respuesta a la pregunta