From db88b87df461820152d68d3d55a28f30c2da83e6 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期五, 20 九月 2019 17:54:42 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/div' into div --- fanli/src/main/java/com/yeshi/fanli/util/pinduoduo/PinDuoDuoUtil.java | 24 +++++++++++++++++------- 1 files changed, 17 insertions(+), 7 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/util/pinduoduo/PinDuoDuoUtil.java b/fanli/src/main/java/com/yeshi/fanli/util/pinduoduo/PinDuoDuoUtil.java index e4fc9c2..3abbddc 100644 --- a/fanli/src/main/java/com/yeshi/fanli/util/pinduoduo/PinDuoDuoUtil.java +++ b/fanli/src/main/java/com/yeshi/fanli/util/pinduoduo/PinDuoDuoUtil.java @@ -13,6 +13,7 @@ import javax.script.Invocable; import javax.script.ScriptEngine; import javax.script.ScriptEngineManager; +import javax.script.ScriptException; import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.methods.PostMethod; @@ -367,7 +368,7 @@ HttpClient client = new HttpClient(); PostMethod pm = new PostMethod("https://jinbao.pinduoduo.com/network/api/common/queryTopGoodsList"); - pm.setRequestHeader("User-Agent", "Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko"); + pm.setRequestHeader("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3730.400 QQBrowser/10.5.3805.400"); pm.setRequestHeader("Content-Type", "application/json;charset=UTF-8"); pm.setRequestHeader("Referer", "https://jinbao.pinduoduo.com/promotion/hot-promotion"); pm.setRequestBody(params.toString()); @@ -496,19 +497,28 @@ } static String jdGoodsJs = null; - - public static String getPDDGoodsId(String url) { + static ScriptEngine engine = null; + static { if (jdGoodsJs == null) jdGoodsJs = getJDGoodsJS(); ScriptEngineManager manager = new ScriptEngineManager(); - ScriptEngine engine = manager.getEngineByName("javascript"); + engine = manager.getEngineByName("javascript"); try { engine.eval(jdGoodsJs); + } catch (ScriptException e) { + e.printStackTrace(); + } + + } + + public static String getPDDGoodsId(String url) { + + try { if (engine instanceof Invocable) { Invocable in = (Invocable) engine; - String goodsId = in.invokeFunction("getGoodsId", url).toString(); - if (!StringUtil.isNullOrEmpty(goodsId)) - return goodsId.trim(); + Object goodsId = in.invokeFunction("getGoodsId", url); + if (goodsId!=null) + return goodsId.toString().trim(); } } catch (Exception e) { e.printStackTrace(); -- Gitblit v1.8.0