刚好业务需要写一个测试程序给客户使用,直接入主题吧!
请求地址:http://12.32.12.32:91889/testx.php
请求参数:
{ "test1": "顾家家居口味咯咯咯", "test2": "把1册", "test3": "13512341234", "test4": "5rW35Y2X55uR54ux566h55CG5bGA6LCD5bqm5oyH5oyl5bmz5Y", "test5": "1234s" } |
使用postman工具直接请求成功,使用写的程序就失败,请关注下面demo程序的红色标注部分!
try { JSONObject body = new JSONObject(); body.put("test1", etText.getText().toString()); body.put("test2", etName.getText().toString()); body.put("test3", etPhone.getText().toString()); body.put("test4", "5rW35Y2X55uR54ux566h55CG5bGA6LCD5bqm5oyH5oyl5bmz5Y"); body.put("test5", "1234s"); String urlPath = "http://12.32.12.32:91889/testx.php"; URL url = new URL(urlPath); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setConnectTimeout(5000); // 设置允许输出 conn.setDoOutput(true); conn.setDoInput(true); conn.setRequestMethod("POST"); // 设置contentType conn.setRequestProperty("Content-Type", "application/json;charset=UTF-8"); // DataOutputStream os = new DataOutputStream( conn.getOutputStream(),"UTF-8"); OutputStreamWriter osw = new OutputStreamWriter(conn.getOutputStream(), "utf-8"); BufferedWriter bw = new BufferedWriter(osw); String content = String.valueOf(body); osw.write(content); osw.flush(); osw.close(); if (conn.getResponseCode() == HttpURLConnection.HTTP_OK) { InputStreamReader in = new InputStreamReader(conn.getInputStream()); BufferedReader bf = new BufferedReader(in); String recieveData = null; String result = ""; while ((recieveData = bf.readLine()) != null) { result += recieveData + "\n"; } in.close(); conn.disconnect(); if(result.contains("\"returnCode\":1")) { Message msg = new Message(); msg.what = 1; // 成功 mHandler.sendMessage(msg); } } } catch (Exception io) { io.printStackTrace(); } |
程序难度不大,遇到的一点小问题备注上。
PS:给客户资料一定简单易用,由于是接口演示程序,所以 我并没有打算直接给接口让客户使用Postman等工具,而是让其安装到手机上,随时随地方便测试。程序解决的是客户问题,而不是多高大上的技术!