收藏 分销(赏)

基于C#的加油卡接口调用代码实例.doc

上传人:xrp****65 文档编号:8973905 上传时间:2025-03-09 格式:DOC 页数:7 大小:213.50KB
下载 相关 举报
基于C#的加油卡接口调用代码实例.doc_第1页
第1页 / 共7页
基于C#的加油卡接口调用代码实例.doc_第2页
第2页 / 共7页
点击查看更多>>
资源描述
基于C#的加油卡接口调用代码实例 代码描述:基于C#的加油卡接口调用代码实例 代码平台:聚合数据 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Net; using System.IO; using Xfrog.Net; using System.Diagnostics; using System.Web;   //---------------------------------- // 加油卡充值调用示例代码 - 聚合数据 // 在线接口文档: // 代码中JsonObject类下载地址: //----------------------------------   namespace ConsoleAPI {     class Program     {         static void Main(string[] args)         {             string appkey = "*******************"; //配置您申请的appkey                             //1.订单状态查询             string url1 = "               var parameters1 = new Dictionary<string, string>();               parameters1.Add("orderid" , ""); //商家订单号,8-32位字母数字组合             parameters1.Add("key", appkey);//你申请的key               string result1 = sendPost(url1, parameters1, "get");               JsonObject newObj1 = new JsonObject(result1);             String errorCode1 = newObj1["error_code"].Value;               if (errorCode1 == "0")             {                 Debug.WriteLine("成功");                 Debug.WriteLine(newObj1);             }             else             {                 //Debug.WriteLine("失败");                 Debug.WriteLine(newObj1["error_code"].Value+":"+newObj1["reason"].Value);             }                 //2.账户余额查询             string url2 = "               var parameters2 = new Dictionary<string, string>();               parameters2.Add("timestamp" , ""); //当前时间戳,如:1432788379             parameters2.Add("key", appkey);//你申请的key             parameters2.Add("sign" , ""); //校验值,md5(OpenID+key+timestamp),OpenID在个人中心查询               string result2 = sendPost(url2, parameters2, "get");               JsonObject newObj2 = new JsonObject(result2);             String errorCode2 = newObj2["error_code"].Value;               if (errorCode2 == "0")             {                 Debug.WriteLine("成功");                 Debug.WriteLine(newObj2);             }             else             {                 //Debug.WriteLine("失败");                 Debug.WriteLine(newObj2["error_code"].Value+":"+newObj2["reason"].Value);             }                 //3.加油卡充值             string url3 = "               var parameters3 = new Dictionary<string, string>();               parameters3.Add("cardid" , ""); //产品id:10000(中石化50元加油卡)、10001(中石化100元加油卡)、10003(中石化500元加油卡)、10004(中石化1000元加油卡)、10007(中石化任意金额充值)、10008(中石油任意金额充值)             parameters3.Add("cardnum" , ""); //充值数量 任意充 (整数(元)),其余面值固定值为1             parameters3.Add("orderid" , ""); //商家订单号,8-32位字母数字组合             parameters3.Add("game_userid" , ""); //加油卡卡号,中石化:以100011开头的卡号、中石油:以9开头的卡号             parameters3.Add("gasCardTel" , ""); //持卡人手机号码             parameters3.Add("gasCardName" , ""); //持卡人姓名             parameters3.Add("chargeType" , ""); //加油卡类型 (1:中石化、2:中石油;默认为1)             parameters3.Add("key", appkey);//你申请的key             parameters3.Add("sign" , ""); //校验值,md5(OpenID+key+proid+cardnum+game_userid+orderid),OpenID在个人中心查询               string result3 = sendPost(url3, parameters3, "get");               JsonObject newObj3 = new JsonObject(result3);             String errorCode3 = newObj3["error_code"].Value;               if (errorCode3 == "0")             {                 Debug.WriteLine("成功");                 Debug.WriteLine(newObj3);             }             else             {                 //Debug.WriteLine("失败");                 Debug.WriteLine(newObj3["error_code"].Value+":"+newObj3["reason"].Value);             }             }           /// <summary>         /// Http (GET/POST)         /// </summary>         /// <param name="url">请求URL</param>         /// <param name="parameters">请求参数</param>         /// <param name="method">请求方法</param>         /// <returns>响应内容</returns>         static string sendPost(string url, IDictionary<string, string> parameters, string method)         {             if (method.ToLower() == "post")             {                 HttpWebRequest req = null;                 HttpWebResponse rsp = null;                 System.IO.Stream reqStream = null;                 try                 {                     req = (HttpWebRequest)WebRequest.Create(url);                     req.Method = method;                     req.KeepAlive = false;                     req.ProtocolVersion = HttpVersion.Version10;                     req.Timeout = 5000;                     req.ContentType = "application/x-www-form-urlencoded;charset=utf-8";                     byte[] postData = Encoding.UTF8.GetBytes(BuildQuery(parameters, "utf8"));                     reqStream = req.GetRequestStream();                     reqStream.Write(postData, 0, postData.Length);                     rsp = (HttpWebResponse)req.GetResponse();                     Encoding encoding = Encoding.GetEncoding(rsp.CharacterSet);                     return GetResponseAsString(rsp, encoding);                 }                 catch (Exception ex)                 {                     return ex.Message;                 }                 finally                 {                     if (reqStream != null) reqStream.Close();                     if (rsp != null) rsp.Close();                 }             }             else             {                 //创建请求                 HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url + "?" + BuildQuery(parameters, "utf8"));                   //GET请求                 request.Method = "GET";                 request.ReadWriteTimeout = 5000;                 request.ContentType = "text/html;charset=UTF-8";                 HttpWebResponse response = (HttpWebResponse)request.GetResponse();                 Stream myResponseStream = response.GetResponseStream();                 StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8"));                   //返回内容                 string retString = myStreamReader.ReadToEnd();                 return retString;             }         }           /// <summary>         /// 组装普通文本请求参数。         /// </summary>         /// <param name="parameters">Key-Value形式请求参数字典</param>         /// <returns>URL编码后的请求数据</returns>         static string BuildQuery(IDictionary<string, string> parameters, string encode)         {             StringBuilder postData = new StringBuilder();             bool hasParam = false;             IEnumerator<KeyValuePair<string, string>> dem = parameters.GetEnumerator();             while (dem.MoveNext())             {                 string name = dem.Current.Key;                 string value = dem.Current.Value;                 // 忽略参数名或参数值为空的参数                 if (!string.IsNullOrEmpty(name))//&& !string.IsNullOrEmpty(value)                 {                     if (hasParam)                     {                         postData.Append("&");                     }                     postData.Append(name);                     postData.Append("=");                     if (encode == "gb2312")                     {                         postData.Append(HttpUtility.UrlEncode(value, Encoding.GetEncoding("gb2312")));                     }                     else if (encode == "utf8")                     {                         postData.Append(HttpUtility.UrlEncode(value, Encoding.UTF8));                     }                     else                     {                         postData.Append(value);                     }                     hasParam = true;                 }             }             return postData.ToString();         }           /// <summary>         /// 把响应流转换为文本。         /// </summary>         /// <param name="rsp">响应流对象</param>         /// <param name="encoding">编码方式</param>         /// <returns>响应文本</returns>         static string GetResponseAsString(HttpWebResponse rsp, Encoding encoding)         {             System.IO.Stream stream = null;             StreamReader reader = null;             try             {                 // 以字符流的方式读取HTTP响应                 stream = rsp.GetResponseStream();                 reader = new StreamReader(stream, encoding);                 return reader.ReadToEnd();             }             finally             {                 // 释放资源                 if (reader != null) reader.Close();                 if (stream != null) stream.Close();                 if (rsp != null) rsp.Close();             }         }     } }
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服