/// <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); } }
/// <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); } }
/// <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"); } }