import net.sf.json.JSONObject; import java.io.*; import java.net.HttpURLConnection; import java.net.URL; import java.util.Random; public class Yunda { public static void main(String[] args) { String code = createCode(); String[] mailnos = {""}; System.out.println(code); for(String mailno : mailnos){ JSONObject data = query(code, mailno); System.out.println(data); } } /** * 查询物流信息 * @param code * @param mailno * @return */ private static JSONObject query(String code, String mailno){ String url = "http://op.yundasys.com/ydorder/queryWayDetailInfo"; HttpURLConnection conn = null; OutputStream out = null; StringBuffer sb = new StringBuffer(); JSONObject body = new JSONObject(); body.put("accountId", code); body.put("accountSrc", "wxapp"); body.put("createTm", ""); body.put("imageCode", ""); body.put("mailno", mailno); body.put("reqTime", System.currentTimeMillis()); try { URL aUrl = new URL(url); //conn = (HttpURLConnection) aUrl.openConnection(proxy); conn = (HttpURLConnection) aUrl.openConnection(); conn.setUseCaches(false); conn.setDefaultUseCaches(false); conn.setRequestMethod("POST"); conn.setRequestProperty("Accept", "application/json, text/javascript, */*; q=0.01"); conn.setRequestProperty("content-type", "application/json;charset=UTF-8"); conn.setRequestProperty("Host", "op.yundasys.com"); conn.setRequestProperty("Origin", "http://op.yundasys.com"); conn.setRequestProperty("Referer", "http://op.yundasys.com/opserver/pages/waydetail/waydetail.html?openid="+ code +"&mailno=" + mailno); conn.setRequestProperty("User-Agent", "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1"); conn.setDoOutput(true); byte[] data = body.toString().getBytes("UTF-8"); out = conn.getOutputStream(); out.write(data); out.flush(); int status = conn.getResponseCode(); InputStream in = null; if (status / 100 == 2) { in = conn.getInputStream(); } else { in = conn.getErrorStream(); } BufferedReader bufferedReader = null; InputStreamReader inputStreamReader = new InputStreamReader(in, "UTF-8"); bufferedReader = new BufferedReader(inputStreamReader); char[] buff = new char[1024]; int len; while ((len = bufferedReader.read(buff)) > 0) { sb.append(buff, 0, len); } bufferedReader.close(); String responseContent = sb.toString(); return JSONObject.fromObject(responseContent); } catch (IOException e) { throw new RuntimeException(e.getMessage()); } finally { if (null != out) { try { out.close(); } catch (IOException e) { System.out.println("Failed to close stream." + e); } } if (null != conn) { conn.disconnect(); } } } /** * 获取24位随机码 * @return */ private static String createCode(){ String code=""; int codeLength=24; Random random = new Random(); char[] chars=new char[]{'1','2','3','4','5','6','7','8','9','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','x','y','z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'}; int len = chars.length; for(int i=0;i<codeLength;i++){ int charIndex= random.nextInt(len); code += chars[charIndex]; } if(code.length() != codeLength){ return createCode(); }else{ return code; } } }