在sh.189.cn网站上给电信号码充值过程中无意发现了一个电信用于查询账单余额的接口,同时这个接口调用并没有做访问控制,可以随意调用的。
根据devidType参数的不同,目前支持下列账户查询:
- 00 -> 电话
- 01 -> 小灵通
- 02 -> 手机
- 03 -> 宽带(需要密码)
- 08 -> 分账序号
一、简单的调用
可以直接在浏览器地址栏中输入:
http://sh.189.cn/service/phoneBalance.do?devidType=02&account=180xxxxxxxx
tip:180xxxxxxxx就是你实际需要查询的账
回车显示如下:
二、java 程序调用
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
package michael.net; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.MalformedURLException; import java.net.URL; import java.net.URLConnection; import java.text.MessageFormat; /** * * @author Michael <Blog:: http://www.micmiu.com> * */ public class SHTelQuery { /** * @param args */ public static void main(String[] args) { if (args.length < 2) { System.out.println("use accountType account passwd"); System.exit(0); } /** * devidType : 00->电话<br> * 01->小灵通 02->手机<br> * 03->宽带 08->分账序号<br> */ String devidType = args[0]; String account = args[1]; String passwd = ""; if ("03".equals(devidType)) { if (args.length < 3 || "".equals(args[2])) { System.out.println("宽带账号查询时需要提供密码"); System.exit(0); } passwd = args[2]; } // http://sh.189.cn/service/phoneBalance.do?devidType=02&account= String queryURL = "http://sh.189.cn/service/phoneBalance.do?devidType={0}&account={1}&accountPWD={2}"; queryURL = MessageFormat.format(queryURL, devidType, account, passwd); try { URL url = new URL(queryURL); URLConnection conn = url.openConnection(); BufferedReader reader = new BufferedReader(new InputStreamReader( conn.getInputStream())); String line = null; while ((line = reader.readLine()) != null) { System.out.println(line); } reader.close(); } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } } |
运行结果如下:
大家可以试试噢。
注意:这个仅仅用于上海电信的账号查询。
原创文章,转载请注明: 转载自micmiu – 软件开发+生活点滴[ http://www.micmiu.com/ ]
本文链接地址: http://www.micmiu.com/techother/shtel-balance-query/
现在已经不能用了