示例#1
0
        /// <summary>
        /// 发送请求(参数为字符)(x-www-form-urlencoded)
        /// </summary>
        /// <param name="url"></param>
        /// <param name="postDataStr"></param>
        /// <param name="channel"></param>
        /// <param name="key"></param>
        /// <param name="orid"></param>
        /// <returns></returns>

        public string HttpPostZF(string url, string postDataStr, string channel, string key, string orid)
        {
            Encoding   code       = Encoding.GetEncoding("utf-8");
            rerurnpram rerurnpram = new rerurnpram();

            byte[] bytesRequestData = code.GetBytes(postDataStr.Trim());
            string str = "";

            try
            {
                WebRequest     webRequest = WebRequest.Create(url);
                HttpWebRequest myReq      = webRequest as HttpWebRequest;
                myReq.Method        = "post";
                myReq.ContentType   = "application/x-www-form-urlencoded";
                myReq.ContentLength = bytesRequestData.Length;
                Stream requestStream = myReq.GetRequestStream();
                requestStream.Write(bytesRequestData, 0, bytesRequestData.Length);
                requestStream.Close();
                HttpWebResponse HttpWResp = (HttpWebResponse)myReq.GetResponse();
                Stream          myStream  = HttpWResp.GetResponseStream();
                StreamReader    Reader    = new StreamReader(myStream);
                str = Reader.ReadToEnd();
                ChannelReturnresult returnresult = new ChannelReturnresult();
                //根据渠道 处理结果
                switch (channel)
                {
                case "HT_006":
                    rerurnpram.message = returnresult.ResultHTSub(str, key);
                    break;

                case "Y_007":
                    rerurnpram.message = returnresult.ResultYSub(str, key);
                    break;

                case "YD_010":
                    rerurnpram.message = returnresult.ResultYDSub(str, key);
                    break;

                case "ZC_008":
                    rerurnpram.message = returnresult.ResultZCSub(str, key, orid);
                    break;

                case "HF_011":
                    rerurnpram.message = returnresult.ResultHFSub(str, key);
                    break;
                }

                return(rerurnpram.message);
            }
            catch (Exception e)
            {
                throw new InsertException(e.Message, "RulePayMethod", "PostUrl", postDataStr);
            }
        }
示例#2
0
        /// <summary>
        /// 代付请求 并且处理(json的请求方式)
        /// </summary>
        /// <param name="url"></param>
        /// <param name="postData"></param>
        /// <param name="channel"></param>
        ///  <param name="key"></param>
        ///  <param name="ordid"></param>
        /// <returns></returns>
        public string PostUrl(string url, string postData, string channel, string key, string ordid)
        {
            try
            {
                ChannelReturnresult returnresult = new ChannelReturnresult();

                rerurnpram rerurnpram = new rerurnpram();

                string result = "";

                HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);

                req.Method = "POST";

                req.Timeout = 5000;//设置请求超时时间,单位为毫秒

                req.ContentType = "application/json";

                byte[] data = Encoding.UTF8.GetBytes(postData);

                req.ContentLength = data.Length;

                using (Stream reqStream = req.GetRequestStream())
                {
                    reqStream.Write(data, 0, data.Length);

                    reqStream.Close();
                }

                HttpWebResponse resp = (HttpWebResponse)req.GetResponse();

                Stream stream = resp.GetResponseStream();

                //获取响应内容
                using (StreamReader reader = new StreamReader(stream, Encoding.UTF8))
                {
                    result = reader.ReadToEnd();
                }
                //根据渠道 处理结果
                switch (channel)
                {
                case "QJ_004":
                    rerurnpram.message = returnresult.ResultQJSub(result, key, ordid);
                    break;
                }

                return(rerurnpram.message);
            }
            catch (Exception e)
            {
                throw new InsertException(e.Message, "RulePayMethod", "PostUrl", postData);
            }
        }
示例#3
0
        /// <summary>
        /// 异步通知时请求的方式
        /// </summary>
        /// <param name="url"></param>
        /// <param name="postData"></param>
        /// <returns></returns>
        public string PostUrl(string url, string postData)
        {
            try
            {
                ChannelReturnresult returnresult = new ChannelReturnresult();

                rerurnpram rerurnpram = new rerurnpram();

                string result = "";

                HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);

                req.Method = "POST";

                req.Timeout = 5000;//设置请求超时时间,单位为毫秒

                req.ContentType = "application/json";

                byte[] data = Encoding.UTF8.GetBytes(postData);

                req.ContentLength = data.Length;

                using (Stream reqStream = req.GetRequestStream())
                {
                    reqStream.Write(data, 0, data.Length);

                    reqStream.Close();
                }

                HttpWebResponse resp = (HttpWebResponse)req.GetResponse();

                Stream stream = resp.GetResponseStream();

                //获取响应内容
                using (StreamReader reader = new StreamReader(stream, Encoding.UTF8))
                {
                    result = reader.ReadToEnd();
                }


                return(result);
            }
            catch (Exception e)
            {
                new InsertException(e.Message, "RulePayMethod", "PostUrl", "url:" + url + "参数:" + postData);
                return("error");
            }
        }