private async void button1_Click(object sender, EventArgs e) { string url = "http://10.0.10.28:8080/api/dept"; //创建HttpClient(注意传入HttpClientHandler) var handler = new RequestUpHandler() //验证 { InnerHandler = new HttpClientHandler() { AutomaticDecompression =System.Net.DecompressionMethods.GZip } }; using (HttpClient http = new HttpClient(handler)) { http.DefaultRequestHeaders.Accept.Clear(); http.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/xml")); Task<HttpResponseMessage> newResult = http.GetAsync(url); //await异步等待回应 HttpResponseMessage response = await newResult; //确保HTTP成功状态值 response.EnsureSuccessStatusCode(); //await异步读取最后的JSON(注意此时gzip已经被自动解压缩了,因为上面的AutomaticDecompression = DecompressionMethods.GZip) String strXml = await response.Content.ReadAsStringAsync(); //读取字符串中的信息 StringReader StrStream = new StringReader(strXml); //获取StrStream中的数据 XmlTextReader Xmlrdr = new XmlTextReader(StrStream); DataSet ds = new DataSet(); ds.ReadXml(Xmlrdr); dataGridView1.DataSource = ds.Tables[0].DefaultView; } }