zoukankan      html  css  js  c++  java
  • C#get ,post HttpClient

    (1)get  

    发送url请求

    设置请求方式

    设置请求内容格式

    获得回应对象,接收流

    读取流

      private string Get(string url)
            {
                string all = string.Empty;
                //发送请求
                HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;
                request.Method = "get";//设置方法
                request.ContentType = "text/html;charset=UTF-8";
                //获得响应
                HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                //读取流
                Stream stream = response.GetResponseStream();
                StreamReader sr = new StreamReader(stream, Encoding.UTF8);
                all= sr.ReadToEnd();
                //关闭流
                stream.Close();
                sr.Close();
                return all;
            }

    (2)post

    发送url请求

    设置请求方式

    设置请求内容格式

    设置请求内容长度(可以不设置)(长度是byte数组的长度,不是string类型的长度)

    将post数据添加到请求流中(重中之重GetRequestStream())

    接收回应对象,接收流

    读取流

     public static string Post(string postdata, string url)
            {
                HttpWebResponse hw;
                string result = string.Empty;
                HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
                req.Method = "POST";
                req.ContentType = "application/json";
                #region 添加Post 参数  
                byte[] data = Encoding.UTF8.GetBytes(postdata);
                req.ContentLength = data.Length;
                using (Stream reqStream = req.GetRequestStream())
                {
                    reqStream.Write(data, 0, data.Length);//将post对象放入请求流中
                    reqStream.Close();
                }
                #endregion
                try
                {
                    HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
                    Stream stream = resp.GetResponseStream();
                    //获取响应内容  
                    using (StreamReader reader = new StreamReader(stream, Encoding.UTF8))
                    {
                        result = reader.ReadToEnd();
                    }
                }
                catch (WebException w)
                {
                    hw = (HttpWebResponse)w.Response;
                    StreamReader sr = new StreamReader(hw.GetResponseStream(), Encoding.UTF8, false);
                    result = sr.ReadToEnd();
                }
                return result;
            }

     (2)HttpClient

     string meeturl = "http://www.baidu.cn/?title=";
                StringBuilder s = new StringBuilder();
                string url = meeturl + "m";
                HttpClient client = new HttpClient();
                client.Timeout = new TimeSpan(0,0,2);
                 HttpResponseMessage hm=  client.GetAsync(url).Result;//通过html可以获得返回的多个信息
                s.AppendLine("StatusCode:      "+hm.StatusCode);
                s.AppendLine("GetType().ToString():      " + hm.GetType().ToString());
                s.AppendLine(hm.Content.ReadAsStringAsync().Result);
                textBox1.Text = s.ToString();
  • 相关阅读:
    (转)通过Javascript得到URL中的参数(query string)
    (转)对存储过程进行加密和解密(SQL 2008/SQL 2012)
    (转)怎样玩转千万级别的数据
    (转)mongodb学习(翻译1)
    (转)Web API 强势入门指南
    (转)正则表达式—RegEx(RegularExpressio)(三)
    学习进度-16 python爬虫
    学习进度-15 变量类型的转换
    学习进度-14
    学习进度-13
  • 原文地址:https://www.cnblogs.com/wwz-wwz/p/6848953.html
Copyright © 2011-2022 走看看