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;
            }
        }

 

posted on 2015-11-12 09:36  zhuang75  阅读(438)  评论(0编辑  收藏  举报