欢迎光临济南网站建设制作公司-济南申宝网络科技有限公司官网!本公司主营:济南网站制作 济南网站建设 济南天猫淘宝店铺装修 济南软件开发 济南APP开发

济南网站制作公司联系电话 咨询QQ:627816364    24小时服务热线:13964179025

在C#中怎么调用 rest接口取到对应的值

相关资讯文章来源:济南申宝网络      发布时间:2017-08-16 00:00:46       文章浏览次数:

这是我写的RestClient类 ,你只需要读懂对应的方法 就可以调用了!!!

using System;
using System.IO;
using System.Net;
using System.Text;
 
public enum HttpVerb
{
    GET,            //method  常用的就这几样,当然你也可以添加其他的   get:获取    post:修改    put:写入    delete:删除  
    POST,
    PUT,
    DELETE
}
 
namespace ArnoScada
{
    public class RestClient
    {
        public string EndPoint { get; set; }    //请求的url地址  eg:   http://215.23.12.45:8080/order/order_id=1&isdel=0  
        public HttpVerb Method { get; set; }    //请求的方法  
        public string ContentType { get; set; } //格式类型:我用的是application/json,text/xml具体使用什么,看需求吧  
        public string PostData { get; set; }    //传送的数据,当然了我使用的是json字符串  
 
        public RestClient()
        {
            EndPoint = "";
            Method = HttpVerb.GET;
            ContentType = "application/json";
            PostData = "";
        }
        public RestClient(string endpoint)
        {
            EndPoint = endpoint;
            Method = HttpVerb.GET;
            ContentType = "application/json";
            PostData = "";
        }
        public RestClient(string endpoint, HttpVerb method)
        {
            EndPoint = endpoint;
            Method = method;
            ContentType = "application/json";
            PostData = "";
        }
 
        public RestClient(string endpoint, HttpVerb method, string postData)
        {
            EndPoint = endpoint;
            Method = method;
            ContentType = "application/json";
            PostData = postData;
        }
 
 
        public string MakeRequest()
        {
            return MakeRequest("");
        }
 
        public string MakeRequest(string parameters)
        {
            var request = (HttpWebRequest)WebRequest.Create(EndPoint + parameters);
 
            request.Method = Method.ToString();
            request.ContentLength = 0;
            request.ContentType = ContentType;
 
            if (!string.IsNullOrEmpty(PostData) && Method == HttpVerb.POST)//如果传送的数据不为空,并且方法是post  
            {
                var encoding = new UTF8Encoding();
                var bytes = Encoding.GetEncoding("iso-8859-1").GetBytes(PostData);//编码方式按自己需求进行更改,我在项目中使用的是UTF-8  
                request.ContentLength = bytes.Length;
 
                using (var writeStream = request.GetRequestStream())
                {
                    writeStream.Write(bytes, 0, bytes.Length);
                }
            }
 
            if (!string.IsNullOrEmpty(PostData) && Method == HttpVerb.PUT)//如果传送的数据不为空,并且方法是put  
            {
                var encoding = new UTF8Encoding();
                var bytes = Encoding.GetEncoding("iso-8859-1").GetBytes(PostData);//编码方式按自己需求进行更改,我在项目中使用的是UTF-8  
                request.ContentLength = bytes.Length;
 
                using (var writeStream = request.GetRequestStream())
                {
                    writeStream.Write(bytes, 0, bytes.Length);
                }
            }
            using (var response = (HttpWebResponse)request.GetResponse())
            {
                var responseValue = string.Empty;
 
                if (response.StatusCode != HttpStatusCode.OK)
                {
                    var message = String.Format("Request failed. Received HTTP {0}", response.StatusCode);
                    throw new ApplicationException(message);
                }
 
                // grab the response  
                using (var responseStream = response.GetResponseStream())
                {
                    if (responseStream != null)
                        using (var reader = new StreamReader(responseStream))
                        {
                            responseValue = reader.ReadToEnd();
                        }
                }
 
                return responseValue;
            }
        }
 
    } // class  
 
}

申宝网络主营:

济南网站制作

济南网站建设

济南网站排名优化

济南软件开发

济南网站制作哪里便宜

济南网也设计哪里好

济南网站制作哪里服务好

济南网店装修

济南做网站公司哪里服务好哪里便宜

版权所有: (济南)申宝网络 备案号:鲁ICP备15045328号
地址:山东省济南市高新区化纤厂路与华龙路交叉口华达宿舍 热线:13964179025Q Q:627816364 微信cbk921