一个http请求帮助类

 public class HttpRequestHelp
    {
        /// <summary>
        /// 接口地址
        /// </summary>
        private string url;

        /// <summary>
        /// 超时时间 毫秒
        /// </summary>
        private int timeout;

        /// <summary>
        /// 请求方式,默认为POST
        /// </summary>
        private string method = "POST";

        /// <summary>
        /// 构造函数
        /// 设置请求地址
        /// <param name="url">请求地址</param>
        /// <param name="method">请求方式</param>
        /// </summary>
        public InterFaceRequestHelp(string url, string method)
        {
            this.url = url;
            this.method = method.ToUpper();
        }

        /// <summary>
        /// 构造函数,设置超时时间,接口地址,请求方式
        /// </summary>
        /// <param name="timeout"></param>
        /// <param name="method"></param>
        /// <param name="url"></param>
        public InterFaceRequestHelp(int timeout, string url, string method)
        {
            this.timeout = timeout;
            this.url = url;
            this.method = method.ToUpper();
        }

        /// <summary>
        /// 创建请求,获取http应答
        /// </summary>
        /// <param name="postData">发送的数据</param>
        /// <returns></returns>
        private HttpWebResponse CreatePostHttpResponse(string postData)
        {

            HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;
            if (timeout != 0)
            {
                request.Timeout = timeout;
            }
            request.Method = method;
            request.ContentType = "application/json; charset=UTF-8";
            request.KeepAlive = true;
            request.Referer = null;
            request.AllowAutoRedirect = true;
            request.Accept = "*/*";
            if(method.ToUpper()=="POST")
            {
                byte[] data = Encoding.UTF8.GetBytes(postData);
                Stream newstream = request.GetRequestStream();
                newstream.Write(data, 0, data.Length);
                newstream.Close();
            }
 
            HttpWebResponse response = request.GetResponse() as HttpWebResponse;
            return response;
        }
        /// <summary>
        /// 发起请求,获取返回的数据
        /// </summary>
        /// <param name="strTransData"></param>
        /// <returns></returns>
        public string RequestInterFace(string strTransData)
        {
            string result = string.Empty;
            //获取响应对象
            HttpWebResponse response = CreatePostHttpResponse(strTransData);
            //提取相应数据流
            Stream stream = response.GetResponseStream();
            using (StreamReader reader = new StreamReader(stream))
            {
                result = reader.ReadToEnd();
            }
            return result;
        }
        /// <summary>
        /// 设置请求的url
        /// </summary>
        /// <param name="url"></param>
        public void SetUrl(string url)
        {
            this.url=url;
        }
        /// <summary>
        /// 获取请求的url
        /// </summary>
        /// <returns></returns>

        public string GetUrl()
        {
            return this.url;
        }
        /// <summary>
        /// 设置请求方法
        /// </summary>
        /// <param name="method"></param>
        public void SetMethod(string method)
        {
            this.method=method.ToUpper();
        }
        /// <summary>
        /// 获取请求方法
        /// </summary>
        /// <returns></returns>
        public string GetMethod()
        {
            return this.method.ToUpper();
        }
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值