zoukankan      html  css  js  c++  java
  • 制作一个简易的RestClient类

    public class RestClient
        {
            private HttpWebRequest CreateHttpRequest(string url, string method)
            {
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
                this.SetProxy(request);
                request.Headers.Set("Cache-Control", "No-Cache");
                request.Method = method;
                request.ContentType = "application/json";
                return request;
            }
    
            public virtual T Post<T>(string url, object requestContact) where T : class
            {
                T local;
                HttpWebRequest request = this.CreateHttpRequest(url, "Post");
                if (requestContact != null)
                {
                    using (Stream stream = request.GetRequestStream())
                    {
                        new DataContractJsonSerializer(requestContact.GetType()).WriteObject(stream, requestContact);
                    }
                }
                using (WebResponse response = request.GetResponse())
                {
                    using (Stream stream2 = response.GetResponseStream())
                    {
                        local = new DataContractJsonSerializer(typeof(T)).ReadObject(stream2) as T;
                    }
                }
                return local;
            }
    
            public T Get<T>(string url, object requestContact) where T : class
            {
                T local;
                HttpWebRequest request = this.CreateHttpRequest(url, "GET");
                if (requestContact != null)
                {
                    using (Stream stream = request.GetRequestStream())
                    {
                        new DataContractJsonSerializer(requestContact.GetType()).WriteObject(stream, requestContact);
                    }
                }
                using (WebResponse response = request.GetResponse())
                {
                    using (Stream stream2 = response.GetResponseStream())
                    {
                        local = new DataContractJsonSerializer(typeof(T)).ReadObject(stream2) as T;
                    }
                }
                return local;
            }
    
            private void SetProxy(HttpWebRequest request)
            {
                WebProxy proxy2 = new WebProxy
                {
                    Credentials = CredentialCache.DefaultCredentials
                };
                WebProxy proxy = proxy2;
                request.Proxy = proxy;
            }
        }
    
    一花一世界 一叶一菩提
  • 相关阅读:
    时间函数的查询-thinkphp
    关于回退的解决
    get post的区别
    日期函数及其查询
    asp MVC的一些tip总结
    asp.net mvc中cookie的完整理解
    解决.net移除dll文件以后依旧报错
    ASP.net MVC redis完整示例(含集合,哈希,sortedset)
    JavaScript实现图的深度广度优先遍历
    JavaScript实现二叉查找树
  • 原文地址:https://www.cnblogs.com/darjuan/p/2299604.html
Copyright © 2011-2022 走看看