1、基于 JAVA的手游充值 api调用代码实例代码描述:基于 JAVA的手游充值 api调用代码实例代码平台:聚合数据import java.io.BufferedReader;import java.io.DataOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.UnsupportedEncodingException;import .HttpURLConnection;import .URL;import .URL
2、Encoder;import java.util.HashMap;import java.util.Map;import net.sf.json.JSONObject;/*游 戏充 值调用示例代 码 聚合数据*在 线接口文档:http:/ class JuheDemo public static final String DEF_CHATSET = “UTF-8“;public static final int DEF_CONN_TIMEOUT = 30000;public static final int DEF_READ_TIMEOUT = 30000;public static Stri
3、ng userAgent = “Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.66 Safari/537.36“;/配置您申请的 KEYpublic static final String APPKEY =“*“;/1.商品小类列表public static void getRequest1()String result =null;String url =“http:/ params = new HashMap();/请求参数params.put(“key“,APPKE
4、Y);/应用 APPKEY(应用详细页查询)try result =net(url, params, “GET“);JSONObject object = JSONObject.fromObject(result);if(object.getInt(“error_code“)=0)System.out.println(object.get(“result“);elseSystem.out.println(object.get(“error_code“)+“:“+object.get(“reason“); catch (Exception e) e.printStackTrace();/2.商品
5、信息public static void getRequest2()String result =null;String url =“http:/ params = new HashMap();/请求参数params.put(“cardid“,“);/对应接口 1 的 cardidparams.put(“key“,APPKEY);/应用 APPKEY(应用详细页查询)try result =net(url, params, “GET“);JSONObject object = JSONObject.fromObject(result);if(object.getInt(“error_code“
6、)=0)System.out.println(object.get(“result“);elseSystem.out.println(object.get(“error_code“)+“:“+object.get(“reason“); catch (Exception e) e.printStackTrace();/3.商品价格查询public static void getRequest3()String result =null;String url =“http:/ params = new HashMap();/请求参数params.put(“cardid“,“);/对应接口 2 的
7、cardidparams.put(“key“,APPKEY);/应用 APPKEY(应用详细页查询)try result =net(url, params, “GET“);JSONObject object = JSONObject.fromObject(result);if(object.getInt(“error_code“)=0)System.out.println(object.get(“result“);elseSystem.out.println(object.get(“error_code“)+“:“+object.get(“reason“); catch (Exception
8、e) e.printStackTrace();/4.游戏直充区服查询public static void getRequest4()String result =null;String url =“http:/ params = new HashMap();/请求参数params.put(“cardid“,“);/对应接口 3 的 cardidparams.put(“key“,APPKEY);/应用 APPKEY(应用详细页查询)try result =net(url, params, “GET“);JSONObject object = JSONObject.fromObject(resul
9、t);if(object.getInt(“error_code“)=0)System.out.println(object.get(“result“);elseSystem.out.println(object.get(“error_code“)+“:“+object.get(“reason“); catch (Exception e) e.printStackTrace();/5.游戏直充public static void getRequest5()String result =null;String url =“http:/ params = new HashMap();/请求参数par
10、ams.put(“cardid“,“);/商品编码,对应接口 3 的 cardidparams.put(“cardnum“,“);/购买数量params.put(“orderid“,“);/订单号,8-32 位数字字母组合params.put(“game_userid“,“);/游戏玩家账号(game_userid=$xxx001 是通行证 xxx001 是玩家账号)params.put(“game_area“,“);/游戏 所在区域,没有则不填,具体参照接口 4 返回,URLEncode UTF8params.put(“game_srv“,“);/游戏所在服务器,没有则不填,具体参照接口
11、4 返回, URLEncode UTF8params.put(“key“,APPKEY);/应用 APPKEY(应用详细页查询)params.put(“sign“,“);/校验值,md5(OpenID+key+cardid+cardnum+orderid+game_userid+game_area+game_srv)try result =net(url, params, “GET“);JSONObject object = JSONObject.fromObject(result);if(object.getInt(“error_code“)=0)System.out.println(obj
12、ect.get(“result“);elseSystem.out.println(object.get(“error_code“)+“:“+object.get(“reason“); catch (Exception e) e.printStackTrace();/6.订单状态查询public static void getRequest6()String result =null;String url =“http:/ params = new HashMap();/请求参数params.put(“orderid“,“);/商家订单号,8-32 位字母数字组合params.put(“key“
13、,APPKEY);/应用 APPKEY(应用详细页查询)try result =net(url, params, “GET“);JSONObject object = JSONObject.fromObject(result);if(object.getInt(“error_code“)=0)System.out.println(object.get(“result“);elseSystem.out.println(object.get(“error_code“)+“:“+object.get(“reason“); catch (Exception e) e.printStackTrace()
14、;public static void main(String args) /* param strUrl 请求地址* param params 请求参数* param method 请求方法* return 网络请求字符串* throws Exception*/public static String net(String strUrl, Map params,String method) throws Exception HttpURLConnection conn = null;BufferedReader reader = null;String rs = null;try Strin
15、gBuffer sb = new StringBuffer();if(method=null | method.equals(“GET“)strUrl = strUrl+“?“+urlencode(params);URL url = new URL(strUrl);conn = (HttpURLConnection) url.openConnection();if(method=null | method.equals(“GET“)conn.setRequestMethod(“GET“);elseconn.setRequestMethod(“POST“);conn.setDoOutput(tr
16、ue);conn.setRequestProperty(“User-agent“, userAgent);conn.setUseCaches(false);conn.setConnectTimeout(DEF_CONN_TIMEOUT);conn.setReadTimeout(DEF_READ_TIMEOUT);conn.setInstanceFollowRedirects(false);conn.connect();if (params!= null out.writeBytes(urlencode(params); catch (Exception e) / TODO: handle ex
17、ceptionInputStream is = conn.getInputStream();reader = new BufferedReader(new InputStreamReader(is, DEF_CHATSET);String strRead = null;while (strRead = reader.readLine() != null) sb.append(strRead);rs = sb.toString(); catch (IOException e) e.printStackTrace(); finally if (reader != null) reader.clos
18、e();if (conn != null) conn.disconnect();return rs;/将 map 型转为请求参数型public static String urlencode(Mapdata) StringBuilder sb = new StringBuilder();for (Map.Entry i : data.entrySet() try sb.append(i.getKey().append(“=“).append(URLEncoder.encode(i.getValue()+“,“UTF-8“).append(“ catch (UnsupportedEncodingException e) e.printStackTrace();return sb.toString();