java版破解淘寶客加密推廣鏈接


今天做淘寶客功能,需要把淘寶加密推廣鏈接轉爲普通商品鏈接。

google了一下,發現了這篇文http://www.au92.com/archives/taobaoke-to-normal-taobao-link.html

提供了很好的方法,但是裏面是用phyton寫的,而我需要用java。主要卡在如何得到重定向跳轉後的URL。

研究了一下,用HttpConnection可以很容易地實現。

現在貼一下代碼:

public static void main(String[] args) {
		String urlStr = "http://s.click.taobao.com/t?e=zGU34CA7K%2BPkqB07S4%2FK0CITy7klxxrJ35Nnc0ls" +
		"8UNch6eorWAPrhuAvw2mQW2OJDeSwknfCSiKd622D%2BDnIc9QSYrG4navJ4t7sfX4ek43cWA%3D";
        HttpClient client;
        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)");  //讓服務器認爲是IE

        GetMethod get = new GetMethod(urlStr);
        
        get.setFollowRedirects(false); //禁止自動重定向


        try {
            int iGetResultCode = client.executeMethod(get); 
            String _refer = get.getResponseHeader("location").getValue(); //打印地址
            GetMethod get2 = new GetMethod(URLDecoder.decode(_refer.split("tu=")[1]));
            get2.addRequestHeader("Referer", _refer);
            get2.setFollowRedirects(false); //禁止自動重定向
            int iGetResultCode2 = client.executeMethod(get2); 
            String realUrl = get2.getResponseHeader("location").getValue(); //打印地址
            System.out.println("REAL URL: "+realUrl);
            GetMethod get3 = new GetMethod(realUrl);
            int iGetResultCode3 = client.executeMethod(get3); 
            String responseBody = get3.getResponseBodyAsString();
            System.out.println("Response Body: "+responseBody);
            System.out.println(responseBody.substring(responseBody.indexOf("sellerRate=" +
            		"")+12,responseBody.indexOf("&", responseBody.indexOf("sellerRate="))));

        } catch (Exception ex) {
            ex.printStackTrace();
        } finally {
            get.releaseConnection();
        }
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章