C# Get和Post请求接口类


public class HttpHelper
    {/// <summary>
        /// Get请求
        /// </summary>
        /// <param name="url">接口地址例如:http://www.jiekou.com?id=123&name=jack</param>
        /// <returns></returns>
        public static string HttpGet(string url)
        {
            HttpWebRequest httpWebRequest = (HttpWebRequest)HttpWebRequest.Create(url);
            //设置请求方法
            httpWebRequest.Method = "GET";
            //请求超时时间
            httpWebRequest.Timeout = 20000;
            //发送请求
            HttpWebResponse httpWebResponse = (HttpWebResponse)httpWebRequest.GetResponse();
            //利用Stream流读取返回数据
            StreamReader streamReader = new StreamReader(httpWebResponse.GetResponseStream(), Encoding.UTF8);
            //获得最终数据,一般是json
            string responseContent = streamReader.ReadToEnd();

            streamReader.Close();
            httpWebResponse.Close();

            return responseContent;

        }

        /// <summary>
        /// Post请求
        /// </summary>
        /// <param name="url">接口地址</param>
        /// <param name="data">json格式参数 例如:{"name":"jack","age":15}</param>
        /// <returns></returns>
        public static string HttpPost(string url, string data)
        {
            //data = {"name":"jack","age":15}格式
            HttpWebRequest httpWebRequest = (HttpWebRequest)HttpWebRequest.Create(url);

            //字符串转换为字节码
            byte[] bs = Encoding.UTF8.GetBytes(data);
            //参数类型,这里是json类型
            //还有别的类型如"application/x-www-form-urlencoded",不过我没用过(逃
            httpWebRequest.ContentType = "multipart/form-data;";
            //参数数据长度
            httpWebRequest.ContentLength = bs.Length;
            //设置请求类型
            httpWebRequest.Method = "POST";
            //设置超时时间
            httpWebRequest.Timeout = 20000;
            //将参数写入请求地址中
            httpWebRequest.GetRequestStream().Write(bs, 0, bs.Length);

            //发送请求
            HttpWebResponse httpWebResponse = (HttpWebResponse)httpWebRequest.GetResponse();
            //读取返回数据
            StreamReader streamReader = new StreamReader(httpWebResponse.GetResponseStream(), Encoding.UTF8);
            string responseContent = streamReader.ReadToEnd();

            streamReader.Close();
            httpWebResponse.Close();
            httpWebRequest.Abort();

            return responseContent;
        }
    }

  

 

 

posted @ 2016-08-25 17:34  常威打来福  阅读(590)  评论(0编辑  收藏  举报