123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270 |
- package com.jkcredit.invoice.util;
- import net.sf.json.JSONObject;
- import org.apache.commons.httpclient.HttpClient;
- import org.apache.commons.httpclient.NameValuePair;
- import org.apache.commons.httpclient.methods.PostMethod;
- import org.apache.commons.lang3.StringUtils;
- import java.io.*;
- import java.util.HashMap;
- import java.util.Iterator;
- import java.util.regex.Matcher;
- import java.util.regex.Pattern;
- public class QueryDemo_3rd {
- /**
- * 测试地址
- */
- private static final String URL = "xxxxxx";
- /**
- * 分配的appKey
- */
- private static final String appKey = "xxxxxx";
- static String filename = "/Users/mashengyi/Desktop/";
- static String logname = "20221012.txt";
- /**
- * 方法入口
- *
- * @param args
- */
- public static void main(String args[]) throws Exception {
- QueryDemo_3rd demo = new QueryDemo_3rd();
-
- int count = 0;
- int total = 0;
- HashMap hashMap = new HashMap();
-
- try {
- File file = new File(filename + logname);
- FileInputStream fis = new FileInputStream(file);
- InputStreamReader isr = new InputStreamReader(fis, "UTF-8");
- LineNumberReader lr = new LineNumberReader(isr, 512);
- String laststr = "";
- int count_d = 0;
- int total_d = 0;
- while (true) {
- String str = lr.readLine();
- try {
- if (str == null)
- break;
- /** if(str.contains("18:")){
- continue;
- }
- if(str.contains("requestid")|| str.contains("未解密成功")){
- System.out.println(str);
- }
- if( str.contains("未解密成功")){
- System.out.println(str);
- continue;
- }
- String str1 = getsrt("\"msg\":\"", "\"", str);
- System.out.println(str1);**/
- String mobile = getsrt("tradeIds=[", "]},", str).trim();
- System.out.println(mobile);
- //String idcard = getsrt("idcard:", "name:", str).trim();
- //String name = getsrt1("name:",str).trim();
- //demo.runMainService(name,idcard,mobile);
- } catch (Exception e) {
- System.out.println("无法解析:" + str);
- }
- }
- lr.close();
- } catch (FileNotFoundException e) {
- System.out.println("FILENAME:" + filename);
- System.out.println("File not found");
- } catch (IOException e) {
- System.out.println("IO error");
- }
- Iterator it = hashMap.keySet().iterator();
- while (it.hasNext()) {
- String key = (String) it.next();
- Integer ttttttt = (Integer) hashMap.get(key);
- System.out.println(key + "====" + ttttttt);
- }
- }
- public static String getsrt(String startkeystr, String endstr, String str) {
- int customerindex = str.indexOf(startkeystr);
- String temp = str.substring(customerindex + startkeystr.length());
- int endindex = temp.indexOf(endstr);
- String sss = temp.substring(0, endindex);
- return sss;
- }
- public static String getsrt1(String startkeystr, String str) {
- int customerindex = str.indexOf(startkeystr);
- String temp = str.substring(customerindex + startkeystr.length());
- return temp;
- }
- /**
- * 利用正则表达式判断字符串是否是数字
- *
- * @param str
- * @return
- */
- public static boolean isNumeric(String str) {
- Pattern pattern = Pattern.compile("[0-9]*");
- Matcher isNum = pattern.matcher(str);
- if (!isNum.matches()) {
- return false;
- }
- return true;
- }
- /**
- * 调用主接口
- */
- public void runMainService(String name,String idcard,String mobile) {
- try {
- /**
- * 实名demo
- */
- if(StringUtils.isEmpty(name) || StringUtils.isEmpty(idcard) || StringUtils.isEmpty(mobile)){
- System.out.println("未解密成功");
- }else{
- JSONObject paramJsonObj = initParamJsonObj_Realname(name,idcard,mobile);
- String ret = postClient(URL, paramJsonObj);
- System.out.println(ret);
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- /**
- * 整合参数(实名认证)
- *
- * @return
- */
- public JSONObject initParamJsonObj_Realname(String name,String idcard,String mobile) {
- /**
- * 基本参数
- */
- JSONObject paramJsonObj = new JSONObject();
- paramJsonObj.put("api", "xxxxxx");
- paramJsonObj.put("appKey", appKey);
- paramJsonObj.put("appSecret",
- "xxxxxx");
-
- /**
- * 业务参数
- */
- JSONObject dataJson = initMainServiceParamJsonObj_Realname(name,idcard,mobile);
- paramJsonObj.put("data", dataJson);
- return paramJsonObj;
- }
- /*
- * 初始化业务参数(实名认证)
- *
- * 姓名,身份证,手机号
- *
- * @return
- */
- public JSONObject initMainServiceParamJsonObj_Realname(String name,String idcard,String mobile) {
- /**
- * 具体业务参数放在data中
- */
- JSONObject dataJson = new JSONObject();
- dataJson.put("name", name);
- dataJson.put("id_number", idcard);
- dataJson.put("mobile", mobile);
- dataJson.put("encrypt", "SHA256");
- return dataJson;
- }
- /**
- * 实现http post请求 注意编码 UTF-8
- *
- * @param url
- * @param paramObj
- * @return
- */
- public String postClient(String url, JSONObject paramObj) {
- String str = "";
- HttpClient client = null;
- PostMethod method = null;
- try {
- client = new HttpClient();
- method = new PostMethod(url);
- method.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=utf-8");
- NameValuePair[] param = new NameValuePair[paramObj.size()];
- Iterator<String> keys = paramObj.keys();
- int i = 0;
- while (keys.hasNext()) {
- String key = (String) keys.next();
- String value = paramObj.getString(key);
- param[i] = new NameValuePair(key, value);
- i++;
- }
- method.setRequestBody(param);
- client.executeMethod(method);
- str = convertStreamToString(method.getResponseBodyAsStream());
- } catch (Exception e) {
- e.printStackTrace();
- } finally {
- if (method != null) {
- method.releaseConnection();
- }
- }
- return str;
- }
- /**
- * 流转字符串
- *
- * @param is
- * @return
- */
- public static String convertStreamToString(InputStream is) {
- BufferedReader reader = new BufferedReader(new InputStreamReader(is));
- StringBuilder builder = new StringBuilder();
- String line = null;
- try {
- while ((line = reader.readLine()) != null) {
- builder.append(line + "\n");
- }
- } catch (IOException e) {
- e.printStackTrace();
- } finally {
- try {
- is.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- return builder.toString();
- }
- }
|