zoukankan      html  css  js  c++  java
  • 参数请求post, get , delete中的基本使用(1)

    /// <summary>
            /// get 数据的时候可以采用此函数大部分功能
            /// </summary>
            /// <param name="args"></param>
            /// <returns></returns>
            public string Starr_AuthoredGET(String[] args, CookieCollection UserCookie)
            {
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(args[0] + args[1]);//将host和参数直接拼接
                request.Method = "GET";
                request.ContentType = args[2];
                request.Accept = "*/*";
                request.CookieContainer = new CookieContainer();
    
                request.CookieContainer.Add(UserCookie);//设置req的cookie
    
                HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                Console.WriteLine(((HttpWebResponse)response).StatusDescription);
                Stream dataStream = response.GetResponseStream();
                StreamReader reader = new StreamReader(dataStream);
                string responseFromServer = reader.ReadToEnd();
    
                //UserCookie = response.Cookies;//设置最新的cookie
                reader.Close();
                dataStream.Close();
                response.Close();
                return responseFromServer;
            }
    
            /// <summary>
            /// POST 数据的时候可以采用此函数大部分功能
            /// </summary>
            /// <param name="args"></param>
            /// <returns></returns>
            public string Starr_AuthoredPOST(String[] args, CookieCollection UserCookie)
            {
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(args[0]);
                request.Method = "POST";
                request.ContentType = args[2];
                request.Accept = "*/*";
                request.CookieContainer = new CookieContainer();
    
                request.CookieContainer.Add(UserCookie);//设置req的cookie
                byte[] byteArray = Encoding.UTF8.GetBytes(args[1]);//输出流
                request.ContentLength = byteArray.Length;
                Stream outStream = request.GetRequestStream();
                outStream.Write(byteArray, 0, byteArray.Length);
                outStream.Close();
    
                HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                Console.WriteLine(((HttpWebResponse)response).StatusDescription);
                Stream dataStream = response.GetResponseStream();
                StreamReader reader = new StreamReader(dataStream);
                string responseFromServer = reader.ReadToEnd();
    
                //UserCookie = response.Cookies;//设置最新的cookie
                reader.Close();
                dataStream.Close();
                response.Close();
                return responseFromServer;
            }
    
            /// <summary>
            /// DELETE数据的时候可以采用此函数大部分功能
            /// </summary>
            /// <param name="args"></param>
            /// <returns></returns>
            public string Starr_AuthoredDelete(String[] args, CookieCollection UserCookie)
            {
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(args[0]);//将host和参数直接拼接
                request.Method = "DELETE";
                request.ContentType = args[1];
                request.Accept = "*/*";
                request.CookieContainer = new CookieContainer();
    
                request.CookieContainer.Add(UserCookie);//设置req的cookie
    
                HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                Console.WriteLine(((HttpWebResponse)response).StatusDescription);
                Stream dataStream = response.GetResponseStream();
                StreamReader reader = new StreamReader(dataStream);
                string responseFromServer = reader.ReadToEnd();
    
                //UserCookie = response.Cookies;//设置最新的cookie
                reader.Close();
                dataStream.Close();
                response.Close();
                return responseFromServer;
            }
    View Code
            public CookieCollection UserCookie = new CookieCollection();
    
            /// <summary>
            /// post 登录,将cookie保存到UserCookie,后续动作都要用到
            /// </summary>
            /// <param name="args"></param>
            /// <returns></returns>
            public string Starr_login(out CookieCollection UserCookie)
            {
                String[] args = { "http://dicc2.ins24.com/ah/session", "{"username":"" +Starr_username+ "","password":"" + Starr_password + ""}", "application/json" };
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(args[0]);
                request.Method = "POST";
                request.ContentType = args[2];
                request.Accept = "*/*";
                request.CookieContainer = new CookieContainer();
                byte[] byteArray = Encoding.UTF8.GetBytes(args[1]);//输出流
                request.ContentLength = byteArray.Length;
                Stream outStream = request.GetRequestStream();
                outStream.Write(byteArray, 0, byteArray.Length);
                outStream.Close();
    
                HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                Console.WriteLine(((HttpWebResponse)response).StatusDescription);
                Stream dataStream = response.GetResponseStream();
                StreamReader reader = new StreamReader(dataStream);
                string responseFromServer = reader.ReadToEnd();
    
                UserCookie = response.Cookies;//设置req的cookie
    
                reader.Close();
                dataStream.Close();
                response.Close();
                return responseFromServer;
            }

    方法调用如下:

    public static Code.InsuranceModel.InsuranceSegment_Result Starr_GetApplayTeamRequestBook(InsuranceModel.InsuranceSegment_Policy Policy_model, List<Code.InsuranceModel.InsuranceSegment_Insured> Insured_Listmodel)
            {
                Code.Login Starr_model = new Code.Login();
                Code.InsuranceModel.InsuranceSegment_Result result = new InsuranceModel.InsuranceSegment_Result();
                try
                {
                    string RequestJson = Code.InsuranceJson.Starr_RequestApplayTeamBookJson(Policy_model, Insured_Listmodel);
                    string[] RequestArr = { "http://dicc2.ins24.com/ah/policies", RequestJson.ToString(), "application/json" };
                    //判断接口请求是否成功
                    result = Code.InsuranceDecodeJson.Starr_GetLoginDecodeJson();
                    if (result.Success == true)
                    {
                        //请求投保
                        string RequestBookJson = Starr_model.Starr_AuthoredPOST(RequestArr, result.UserCookie);
                        //解析投保返回的json语句
                        Code.InsuranceModel.InsuranceSegment_PolicyBookMessage db_model = Code.InsuranceDecodeJson.Starr_GetApplayTeamBookDecodeJson(RequestBookJson,Policy_model.externalno);
                        if (db_model != null)
                        {
                            if (db_model.status.Trim().Equals("SUCCESS"))
                            {
                               InsuranceCode.InsertInsuranceSegment_PolicyBookMessage(db_model);
                               InsuranceCode.UpdateInsuranceSegment_Policy(db_model.downloadurl, db_model.npremium, db_model.policyno, db_model.policyid, db_model.status, db_model.service, db_model.successdate);
                               
                               result.Success =true;
                               result.Message ="团保投保成功!";
                            }
                            else
                            {
                                
                            }
                        }
                    }
                    else 
                    {
                       
                    }
                    return result;
                }
                catch (Exception ex)
                {
                    result.Success = false;
                    result.Message = ex.Message;
                    return result;
                }
            }
    View Code
  • 相关阅读:
    Openshift与Kubernetes的区别
    chrome显示正在等待可用的套接字如何解决
    wordpress上传图片附件时把绝对地址修改成相对地址
    flashfxp传输代码变形如何解决
    wordpress禁用模板编辑功能
    nginx设置Expires启用浏览器缓存Leverage browser caching
    如何设置ExpiresDefault启用浏览器缓存Leverage browser caching
    国外常用社交分享代码(纯代码无需插件)
    python识别网站所用技术
    nginx设置http 301重定向到https
  • 原文地址:https://www.cnblogs.com/ly77461/p/5708255.html
Copyright © 2011-2022 走看看