admin
2019-09-20 db88b87df461820152d68d3d55a28f30c2da83e6
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();