基于C#的加油卡接口调用代码实例.doc_第1页
基于C#的加油卡接口调用代码实例.doc_第2页
基于C#的加油卡接口调用代码实例.doc_第3页
基于C#的加油卡接口调用代码实例.doc_第4页
基于C#的加油卡接口调用代码实例.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于C#的加油卡接口调用代码实例代码描述:基于C#的加油卡接口调用代码实例代码平台:聚合数据usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Net;usingSystem.IO;usingXfrog.Net;usingSystem.Diagnostics;usingSystem.Web;/-/加油卡充值调用示例代码聚合数据/在线接口文档:/docs/87/代码中JsonObject类下载地址:/download/gcm3206021155665/7458439/-namespaceConsoleAPIclassProgramstaticvoidMain(stringargs)stringappkey=*;/配置您申请的appkey/1.订单状态查询stringurl1=/ofpay/sinopec/ordersta;varparameters1=newDictionary();parameters1.Add(orderid,);/商家订单号,8-32位字母数字组合parameters1.Add(key,appkey);/你申请的keystringresult1=sendPost(url1,parameters1,get);JsonObjectnewObj1=newJsonObject(result1);StringerrorCode1=newObj1error_code.Value;if(errorCode1=0)Debug.WriteLine(成功);Debug.WriteLine(newObj1);else/Debug.WriteLine(失败);Debug.WriteLine(newObj1error_code.Value+:+newObj1reason.Value);/2.账户余额查询stringurl2=/ofpay/sinopec/yue;varparameters2=newDictionary();parameters2.Add(timestamp,);/当前时间戳,如:1432788379parameters2.Add(key,appkey);/你申请的keyparameters2.Add(sign,);/校验值,md5(OpenID+key+timestamp),OpenID在个人中心查询stringresult2=sendPost(url2,parameters2,get);JsonObjectnewObj2=newJsonObject(result2);StringerrorCode2=newObj2error_code.Value;if(errorCode2=0)Debug.WriteLine(成功);Debug.WriteLine(newObj2);else/Debug.WriteLine(失败);Debug.WriteLine(newObj2error_code.Value+:+newObj2reason.Value);/3.加油卡充值stringurl3=/ofpay/sinopec/onlineorder;varparameters3=newDictionary();parameters3.Add(cardid,);/产品id:10000(中石化50元加油卡)、10001(中石化100元加油卡)、10003(中石化500元加油卡)、10004(中石化1000元加油卡)、10007(中石化任意金额充值)、10008(中石油任意金额充值)parameters3.Add(cardnum,);/充值数量任意充(整数(元),其余面值固定值为1parameters3.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);/你申请的keyparameters3.Add(sign,);/校验值,md5(OpenID+key+proid+cardnum+game_userid+orderid),OpenID在个人中心查询stringresult3=sendPost(url3,parameters3,get);JsonObjectnewObj3=newJsonObject(result3);StringerrorCode3=newObj3error_code.Value;if(errorCode3=0)Debug.WriteLine(成功);Debug.WriteLine(newObj3);else/Debug.WriteLine(失败);Debug.WriteLine(newObj3error_code.Value+:+newObj3reason.Value);/Http(GET/POST)/请求URL/请求参数/请求方法/响应内容staticstringsendPost(stringurl,IDictionaryparameters,stringmethod)if(method.ToLower()=post)HttpWebRequestreq=null;HttpWebResponsersp=null;System.IO.StreamreqStream=null;tryreq=(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;bytepostData=Encoding.UTF8.GetBytes(BuildQuery(parameters,utf8);reqStream=req.GetRequestStream();reqStream.Write(postData,0,postData.Length);rsp=(HttpWebResponse)req.GetResponse();Encodingencoding=Encoding.GetEncoding(rsp.CharacterSet);returnGetResponseAsString(rsp,encoding);catch(Exceptionex)returnex.Message;finallyif(reqStream!=null)reqStream.Close();if(rsp!=null)rsp.Close();else/创建请求HttpWebRequestrequest=(HttpWebRequest)WebRequest.Create(url+?+BuildQuery(parameters,utf8);/GET请求request.Method=GET;request.ReadWriteTimeout=5000;request.ContentType=text/html;charset=UTF-8;HttpWebResponseresponse=(HttpWebResponse)request.GetResponse();StreammyResponseStream=response.GetResponseStream();StreamReadermyStreamReader=newStreamReader(myResponseStream,Encoding.GetEncoding(utf-8);/返回内容stringretString=myStreamReader.ReadToEnd();returnretString;/组装普通文本请求参数。/Key-Value形式请求参数字典/URL编码后的请求数据staticstringBuildQuery(IDictionaryparameters,stringencode)StringBuilderpostData=newStringBuilder();boolhasParam=false;IEnumeratorKeyValuePairdem=parameters.GetEnumerator();while(dem.MoveNext()stringname=dem.Current.Key;stringvalue=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);elseif(encode=utf8)postData.Append(HttpUtility.UrlEncode(value,Encoding.UTF8);elsepostData.Append(value);hasParam=true;returnpostData.ToString();/把响应流转换为文本。/响应流对象/编码方式/响应文本staticstringGetResponseAsString(HttpWebResponsersp,Encodingencoding)System.IO.Streamstream=null;StreamRea

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论