From 0c78c7aaeaa5a427bc8a5c5faf3cd6bbb589c2da Mon Sep 17 00:00:00 2001 From: yujian <yujian@123.com> Date: 星期二, 08 十月 2019 12:08:38 +0800 Subject: [PATCH] map 改造 --- fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoBaoUtil.java | 34 ++++++++++++++++++++++++++++++++++ 1 files changed, 34 insertions(+), 0 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoBaoUtil.java b/fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoBaoUtil.java index 9396568..d04bf54 100644 --- a/fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoBaoUtil.java +++ b/fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoBaoUtil.java @@ -3,6 +3,7 @@ import java.io.UnsupportedEncodingException; import java.lang.reflect.Type; import java.math.BigDecimal; +import java.net.URLDecoder; import java.net.URLEncoder; import java.util.ArrayList; import java.util.HashMap; @@ -21,7 +22,9 @@ import javax.xml.parsers.DocumentBuilderFactory; import org.apache.commons.httpclient.HttpClient; +import org.apache.commons.httpclient.MultiThreadedHttpConnectionManager; import org.apache.commons.httpclient.methods.GetMethod; +import org.apache.commons.httpclient.params.HttpMethodParams; import org.jsoup.Connection; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; @@ -1963,5 +1966,36 @@ } return taoBaoGoodsBrief; } + + + + /** + * 鎶栭煶杩斿埄local 鑾峰彇鐪熷疄娣樺疂閾炬帴 + * @param url https://s.click.taobao.com/t?e=m%3D2%26s%3DT9DFpHQCT7Rw4vFB6t2Z2ueEDrYVVa64XoO8tOebS+dRAdhuF14FMR8 + * @return + */ + public static String getRealUrl(String url) { + if (StringUtil.isNullOrEmpty(url)) + return null; + + try { + HttpClient client = new HttpClient(new MultiThreadedHttpConnectionManager()); + client.getHttpConnectionManager().getParams().setConnectionTimeout(10000); + client.getParams().setParameter(HttpMethodParams.USER_AGENT,"Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)"); // 璁╂湇鍔″櫒璁や负鏄疘E + GetMethod get = new GetMethod(url); + get.setFollowRedirects(false); // 绂佹鑷姩閲嶅畾鍚� + int iGetResultCode = client.executeMethod(get); + String location = get.getResponseHeader("location").getValue(); // 鎵撳嵃鍦板潃 + GetMethod get2 = new GetMethod(URLDecoder.decode(location.split("tu=")[1])); + get2.addRequestHeader("Referer", location); + get2.setFollowRedirects(false); // 绂佹鑷姩閲嶅畾鍚� + int iGetResultCode2 = client.executeMethod(get2); + return get2.getResponseHeader("location").getValue(); // 鐪熷疄鍦板潃 + } catch (Exception ex) { + ex.printStackTrace(); + } + return null; + } + } -- Gitblit v1.8.0