java版破解淘宝客加密推广链接

今天做淘宝客功能,需要把淘宝加密推广链接转为普通商品链接。

google了一下,发现了这篇文http://www.au92.com/archives/taobaoke-to-normal-taobao-link.html

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

研究了一下,用HttpConnection可以很容易地实现。

现在贴一下代码:

[java] view plain copy
  1. public static void main(String[] args) {  
  2.         String urlStr = "http://s.click.taobao.com/t?e=zGU34CA7K%2BPkqB07S4%2FK0CITy7klxxrJ35Nnc0ls" +  
  3.         "8UNch6eorWAPrhuAvw2mQW2OJDeSwknfCSiKd622D%2BDnIc9QSYrG4navJ4t7sfX4ek43cWA%3D";  
  4.         HttpClient client;  
  5.         client = new HttpClient(new MultiThreadedHttpConnectionManager());  
  6.         client.getHttpConnectionManager().getParams().setConnectionTimeout(10000);  
  7.         client.getParams().setParameter(HttpMethodParams.USER_AGENT, "Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)");  //让服务器认为是IE  
  8.   
  9.         GetMethod get = new GetMethod(urlStr);  
  10.           
  11.         get.setFollowRedirects(false); //禁止自动重定向  
  12.   
  13.   
  14.         try {  
  15.             int iGetResultCode = client.executeMethod(get);   
  16.             String _refer = get.getResponseHeader("location").getValue(); //打印地址  
  17.             GetMethod get2 = new GetMethod(URLDecoder.decode(_refer.split("tu=")[1]));  
  18.             get2.addRequestHeader("Referer", _refer);  
  19.             get2.setFollowRedirects(false); //禁止自动重定向  
  20.             int iGetResultCode2 = client.executeMethod(get2);   
  21.             String realUrl = get2.getResponseHeader("location").getValue(); //打印地址  
  22.             System.out.println("REAL URL: "+realUrl);  
  23.             GetMethod get3 = new GetMethod(realUrl);  
  24.             int iGetResultCode3 = client.executeMethod(get3);   
  25.             String responseBody = get3.getResponseBodyAsString();  
  26.             System.out.println("Response Body: "+responseBody);  
  27.             System.out.println(responseBody.substring(responseBody.indexOf("sellerRate=" +  
  28.                     "")+12,responseBody.indexOf("&", responseBody.indexOf("sellerRate="))));  
  29.   
  30.         } catch (Exception ex) {  
  31.             ex.printStackTrace();  
  32.         } finally {  
  33.             get.releaseConnection();  
  34.         }  

http://blog.csdn.net/u011566158/article/details/9698689

猜你喜欢

转载自m635674608.iteye.com/blog/2327164