• 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();
  • 相关阅读:
    查看 SharePoint 2013 部署到GAC的自定义dll
    SharePoint 2013 设置customErrors显示实际的错误信息
    SharePoint 2013 配置开发环境,需安装VS2012插件
    SharePoint 2013 workflow cannot start automatically when you logged in site as a system account
    Sharepoint 2013 Workflow Error
    自定义HttpModule,用于未登录用户,不弹出Windows认证窗口,而是跳转回SSO站点
    jQuery异步请求模拟IE登录网站
    上传文件到 Sharepoint 的文档库中和下载 Sharepoint 的文档库的文件到客户端
    Hive桶列BucketedTables
    修改MySQL命令提示符
  • 原文地址:https://www.cnblogs.com/wwz-wwz/p/6848953.html
Copyright © 2020-2023  润新知