国家电网电费查询 – 中国.NET研究协会

 

  最近在老家出差,老家电网改革,使用了智能电表,把老式电表全部换了还给了一个客户号,

终于也可以在支付宝什么的交电费了,但我们那里支付宝还不能查询剩余多少钱,这让人很恼火,

于是就来国家电网http://www.95598.cn/person/index.shtml 查询了一下,发现需要客户号、查询密码、验证码,客户号我知道,查询密码是不知道的,随便输入,提示错误,

于是打95598问了下客服,得知了默认密码是6个8,查询了一下,出来消息了,但想每次都上电脑上查,貌似有点不方便,就想自己做一个模拟提交的,

模拟提交就要解决验证码识别的问题,看看也不复杂,就捣鼓了一会,然后分析提交的信息及url,

然后看到一个http://www.95598.cn/95598/per/shortCut/getShortCutAccount 这个地址,只传了2个参数,一个客户号,还有一个不知道是什么,

就直接测试了下这个url,post提交了两个参数,然后居然信息直接出来了,

还是josn格式。。。客户名称、电表地址、电表号,余额、违约金、欠费信息,还有部分类型的客户居然还带近期的电费记录,

到这我就想问特么你之前验证的查询密码和验证码了 干什么用的? 只是个慌子吗?我书都的少,你别骗我,這么大一个国家电网,居然这个查询密码是个渣?

好吧 代码我也上上来吧,但没什么技术含量了

/// <summary>
/// 获取电费
/// </summary>
/// <param name=”consNo”>客户号</param>
/// <returns></returns>
public static void GetPowerRate<T>(T consNo)
{
HttpWebRequest httpWebRequest
= (HttpWebRequest)HttpWebRequest.Create(http://www.95598.cn/95598/per/shortCut/getShortCutAccount);
httpWebRequest.ContentType
= application/x-www-form-urlencoded; charset=UTF-8;
httpWebRequest.Method
= POST;
var data = System.Text.Encoding.UTF8.GetBytes(string.Format(consNo={0}&orgNo=43101, consNo));
using (Stream stream = httpWebRequest.GetRequestStream())
{
stream.Write(data,
0, data.Length);
stream.Close();
}
data
= null;
Result result
= new Result();
try
{
HttpWebResponse webResponse
= httpWebRequest.GetResponse() as HttpWebResponse;
using (System.IO.StreamReader stream = new StreamReader(webResponse.GetResponseStream()))
{
result
= Newtonsoft.Json.JsonConvert.DeserializeObject<Result>(stream.ReadToEnd());
}
httpWebRequest
= null;
webResponse.Close();
webResponse
= null;
}
catch { }
result.billInfo.consNo
= consNo.ToString();
Write(result);
}

返回json 示例:

{“statusCode”:200,”orgNo”:”43101″,”billInfo”:{“errorCode”:null,”count”:”21″,”errorMessage”:null,”orgNo”:”xxx52″,”consNo”:”1xxx4″,”consName”:”唐xx”,”elecAddr”:”岳麓-长沙市岳麓区望岳路xxx”,”consSortCode”:”城网低压居民”,”rtnCode”:null,”rtnMsg”:null,”acctOrgNo”:null,”purchaseType”:”普通缴费”,”balLists”:[
{statusCode”:”非锁定”,”rcvblAmtId”:”2014000360600225″,”rcvblAmt”:”27.64″,”owePenalty”:”0″,”rcvedAmt”:”27.64″,”oweAmt”:”0″,”rcvblYm”:”201412″,”rcvedPenalty”:null,”billType”:”正常电费”,”addBal”:null},
{statusCode”:”非锁定”,”rcvblAmtId”:”2015000384456503″,”rcvblAmt”:”27.64″,”owePenalty”:”0″,”rcvedAmt”:”27.64″,”oweAmt”:”0″,”rcvblYm”:”201501″,”rcvedPenalty”:null,”billType”:”正常电费”,”addBal”:null},
{statusCode”:”非锁定”,”rcvblAmtId”:”2015000417908221″,”rcvblAmt”:”1.76″,”owePenalty”:”0″,”rcvedAmt”:”1.76″,”oweAmt”:”0″,”rcvblYm”:”201503″,”rcvedPenalty”:null,”billType”:”正常电费”,”addBal”:null},
{statusCode”:”非锁定”,”rcvblAmtId”:”2015000458719783″,”rcvblAmt”:”32.93″,”owePenalty”:”0″,”rcvedAmt”:”32.93″,”oweAmt”:”0″,”rcvblYm”:”201505″,”rcvedPenalty”:null,”billType”:”正常电费”,”addBal”:null},
{statusCode”:”非锁定”,”rcvblAmtId”:”2015000475907830″,”rcvblAmt”:”33.52″,”owePenalty”:”0″,”rcvedAmt”:”33.52″,”oweAmt”:”0″,”rcvblYm”:”201506″,”rcvedPenalty”:null,”billType”:”正常电费”,”addBal”:null},
{statusCode”:”非锁定”,”rcvblAmtId”:”2015000494109461″,”rcvblAmt”:”114.13″,”owePenalty”:”0″,”rcvedAmt”:”114.13″,”oweAmt”:”0″,”rcvblYm”:”201507″,”rcvedPenalty”:null,”billType”:”正常电费”,”addBal”:null},
{statusCode”:”非锁定”,”rcvblAmtId”:”2015000517111477″,”rcvblAmt”:”84.67″,”owePenalty”:”0″,”rcvedAmt”:”5.87″,”oweAmt”:”78.8″,”rcvblYm”:”201508″,”rcvedPenalty”:null,”billType”:”正常电费”,”addBal”:null},
{statusCode”:”非锁定”,”rcvblAmtId”:”2015000400353270″,”rcvblAmt”:”11.76″,”owePenalty”:”0″,”rcvedAmt”:”11.76″,”oweAmt”:”0″,”rcvblYm”:”201502″,”rcvedPenalty”:null,”billType”:”正常电费”,”addBal”:null},
{statusCode”:”非锁定”,”rcvblAmtId”:”2015000435879133″,”rcvblAmt”:”8.23″,”owePenalty”:”0″,”rcvedAmt”:”8.23″,”oweAmt”:”0″,”rcvblYm”:”201504″,”rcvedPenalty”:null,”billType”:”正常电费”,”addBal”:null},
{statusCode”:”非锁定”,”rcvblAmtId”:”2013000201613636″,”rcvblAmt”:”148.59″,”owePenalty”:”0″,”rcvedAmt”:”148.59″,”oweAmt”:”0″,”rcvblYm”:”201312″,”rcvedPenalty”:null,”billType”:”正常电费”,”addBal”:null},
{statusCode”:”非锁定”,”rcvblAmtId”:”2014000206170080″,”rcvblAmt”:”288.76″,”owePenalty”:”0″,”rcvedAmt”:”288.76″,”oweAmt”:”0″,”rcvblYm”:”201401″,”rcvedPenalty”:null,”billType”:”正常电费”,”addBal”:null},
{statusCode”:”非锁定”,”rcvblAmtId”:”2014000213433834″,”rcvblAmt”:”178.57″,”owePenalty”:”0″,”rcvedAmt”:”178.57″,”oweAmt”:”0″,”rcvblYm”:”201402″,”rcvedPenalty”:null,”billType”:”正常电费”,”addBal”:null},
{statusCode”:”非锁定”,”rcvblAmtId”:”2014000220409307″,”rcvblAmt”:”0.59″,”owePenalty”:”0″,”rcvedAmt”:”0.59″,”oweAmt”:”0″,”rcvblYm”:”201403″,”rcvedPenalty”:null,”billType”:”正常电费”,”addBal”:null},
{statusCode”:”非锁定”,”rcvblAmtId”:”2014000224346917″,”rcvblAmt”:”9.41″,”owePenalty”:”0″,”rcvedAmt”:”9.41″,”oweAmt”:”0″,”rcvblYm”:”201404″,”rcvedPenalty”:null,”billType”:”正常电费”,”addBal”:null},
{statusCode”:”非锁定”,”rcvblAmtId”:”2014000235525969″,”rcvblAmt”:”22.34″,”owePenalty”:”0″,”rcvedAmt”:”22.34″,”oweAmt”:”0″,”rcvblYm”:”201405″,”rcvedPenalty”:null,”billType”:”正常电费”,”addBal”:null},
{statusCode”:”非锁定”,”rcvblAmtId”:”2014000250824152″,”rcvblAmt”:”24.7″,”owePenalty”:”0″,”rcvedAmt”:”24.7″,”oweAmt”:”0″,”rcvblYm”:”201406″,”rcvedPenalty”:null,”billType”:”正常电费”,”addBal”:null},
{statusCode”:”非锁定”,”rcvblAmtId”:”2014000265451425″,”rcvblAmt”:”32.34″,”owePenalty”:”0″,”rcvedAmt”:”32.34″,”oweAmt”:”0″,”rcvblYm”:”201407″,”rcvedPenalty”:null,”billType”:”正常电费”,”addBal”:null},
{statusCode”:”非锁定”,”rcvblAmtId”:”2014000287619069″,”rcvblAmt”:”100.55″,”owePenalty”:”0″,”rcvedAmt”:”100.55″,”oweAmt”:”0″,”rcvblYm”:”201408″,”rcvedPenalty”:null,”billType”:”正常电费”,”addBal”:null},
{statusCode”:”非锁定”,”rcvblAmtId”:”2014000302284130″,”rcvblAmt”:”97.02″,”owePenalty”:”0″,”rcvedAmt”:”97.02″,”oweAmt”:”0″,”rcvblYm”:”201409″,”rcvedPenalty”:null,”billType”:”正常电费”,”addBal”:null},
{statusCode”:”非锁定”,”rcvblAmtId”:”2014000329656994″,”rcvblAmt”:”34.1″,”owePenalty”:”0″,”rcvedAmt”:”34.1″,”oweAmt”:”0″,”rcvblYm”:”201410″,”rcvedPenalty”:null,”billType”:”正常电费”,”addBal”:null},
{statusCode”:”非锁定”,”rcvblAmtId”:”2014000342784003″,”rcvblAmt”:”23.52″,”owePenalty”:”0″,”rcvedAmt”:”23.52″,”oweAmt”:”0″,”rcvblYm”:”201411″,”rcvedPenalty”:null,”billType”:”正常电费”,”addBal”:null}],
acctBal”:”0″,”chargeBal”:null,”freezeBal”:null,”oweAmtSum”:”78.8″,”owePenaltySum”:”0″,”purchaseInfos”:null,”levDisBeginYm”:null,”levDisEndYm”:null,”levDisAmt”:null,”isLevDisFlag”:null,”limitReason”:null},”date”:”2015-08-18″}////

示例中部分信息被我用xx代替了,

字段说明:

consN(客户号)、consName(客户姓名)、elecAddr(电表地址)、consSortCode类型、 acctBal(账户余额)、oweAmtSum(账户欠费)、

statusCode 固定为200 不管客户号有没有都是200  然后就是billInfo消息中如果consNo(客户号)为null则表示没有客户,

农村的返回稍微有点一样,但关键信息都有,今天不捣鼓了,洗洗睡了

 

本文链接:国家电网电费查询,转载请注明。



You must enable javascript to see captcha here!

Copyright © All Rights Reserved · Green Hope Theme by Sivan & schiy · Proudly powered by WordPress

无觅相关文章插件,快速提升流量