From e19ce4be094d93f68bdb6ee1c28e9caa502bf2c4 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期四, 10 十月 2019 11:17:12 +0800 Subject: [PATCH] utils包添加工具类,抖音广告修改 --- fanli/src/main/java/com/yeshi/fanli/util/vip/VipApiUtil.java | 108 +++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 103 insertions(+), 5 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/util/vip/VipApiUtil.java b/fanli/src/main/java/com/yeshi/fanli/util/vip/VipApiUtil.java index f5b610a..63f336f 100644 --- a/fanli/src/main/java/com/yeshi/fanli/util/vip/VipApiUtil.java +++ b/fanli/src/main/java/com/yeshi/fanli/util/vip/VipApiUtil.java @@ -1,7 +1,21 @@ package com.yeshi.fanli.util.vip; +import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.net.URLEncoder; +import java.util.ArrayList; +import java.util.Collections; import java.util.HashMap; +import java.util.Iterator; +import java.util.List; import java.util.Map; + +import org.apache.commons.httpclient.HttpClient; +import org.apache.commons.httpclient.HttpException; +import org.apache.commons.httpclient.methods.PostMethod; +import org.yeshi.utils.StringUtil; + +import net.sf.json.JSONObject; /** * TODO 鏈畬鎴� 鍞搧浼氭帴鍙� @@ -14,12 +28,28 @@ private final static String appKey = "f9e7f22f"; private final static String appSecret = "9B2291352497FAF42B2DF44BFCF62316"; - private static String getSign() { - - return null; + /** + * 鑾峰彇绛惧悕 + * + * @param params + * @return + */ + private static String getSign(Map<String, String> systemParams, JSONObject taskParams) { + List<String> list = new ArrayList<>(); + for (Iterator<String> its = systemParams.keySet().iterator(); its.hasNext();) { + String key = its.next(); + String value = systemParams.get(key); + list.add(key + value); + } + Collections.sort(list); + String source = ""; + for (String st : list) + source += st; + source += taskParams.toString(); + return StringUtil.MD5Hmac(source, appSecret); } - private static Map<String, String> getBaseParams(String service, String method) { + private static Map<String, String> getSystemParams(String service, String method) { Map<String, String> params = new HashMap<String, String>(); params.put("service", service); params.put("method", method); @@ -27,7 +57,75 @@ params.put("timestamp", System.currentTimeMillis() / 1000 + ""); params.put("format", "json"); params.put("appKey", appKey); - params.put("sign", null); return params; } + + /** + * 鍩虹璇锋眰 + * + * @param service + * @param method + * @param taskParams + * @return + */ + private static String baseRequest(String service, String method, Map<String, String> taskParams) { + Map<String, String> systemParams = getSystemParams(service, method); + JSONObject json = new JSONObject(); + for (Iterator<String> its = taskParams.keySet().iterator(); its.hasNext();) { + String key = its.next(); + String value = taskParams.get(key); + json.put(key, value); + } + JSONObject root = new JSONObject(); + root.put("request",json); + + String sign = getSign(systemParams, root); + systemParams.put("sign", sign); + String baseUrl = "https://gw.vipapis.com"; + baseUrl += "?"; + for (Iterator<String> its = systemParams.keySet().iterator(); its.hasNext();) { + String key = its.next(); + String value = ""; + try { + value = URLEncoder.encode(systemParams.get(key), "UTF-8"); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } + baseUrl += key + "=" + value + "&"; + } + baseUrl = baseUrl.endsWith("&") ? baseUrl.substring(0, baseUrl.length() - 1) : baseUrl; + String result = post(baseUrl, root.toString()); + return result; + } + + @SuppressWarnings("deprecation") + private static String post(String url, String body) { + HttpClient client = new HttpClient(); + PostMethod method = new PostMethod(url); + method.addRequestHeader("Content-Type", "application/json;charset=UTF-8"); + method.setRequestHeader("Content-Type", "application/json;charset=UTF-8"); + method.setRequestBody(body); + try { + client.executeMethod(method); + return method.getResponseBodyAsString(); + } catch (HttpException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } + return null; + } + + public static void search() { + Map<String, String> taskParams = new HashMap<>(); + taskParams.put("keyword","绗旇鏈�"); + taskParams.put("page", "1"); + taskParams.put("pageSize", "20"); + taskParams.put("requestId", System.currentTimeMillis() + ""); + // taskParams.put("priceStart", ""); + // taskParams.put("priceEnd", ""); + String result = baseRequest("com.vip.adp.api.open.service.UnionGoodsService", "query", taskParams); + System.out.println(result); + } + } -- Gitblit v1.8.0