很多做淘客的朋友,需要用到的这个功能,就是把别人生成的淘客链接,还原到原始链接或者获取到商品的id,这里介绍php版本和java版本,如何进行还原。
测试用的url链接:
【PHP版本】:
public function getItemIdBySclick() {
$clickurl = "";//这里就用上面提到的url,太长,就不写了
//第一步,获取代tu参数的链接
//链接是带https的,需要打开php_openssl.dll。否则获取不到
$headers = get_headers($clickurl);
$tu = str_replace('Location: ', '', $headers['5']);
$eturl = urldecode($tu);
$u = parse_url($eturl);
$param = $u['query'];
$ref = str_replace('tu=', '', $param);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $ref);
curl_setopt($ch, CURLOPT_REFERER, $tu);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_NOBODY,1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION,true);
curl_setopt($ch, CURLOPT_MAXREDIRS,2);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false );
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false );
$out = curl_exec($ch);
$dd = curl_getinfo($ch);
curl_close($ch);
$item_url = $dd['url'];
dump ($item_url);
}
【JAVA版本】
public static void main(String[] args) throws IOException {
//jar包都是JDK自带的,不需要添加额外的JAR包
String location = "";
String url = "";//这个链接就是上面写的链接
try {
URL serverUrl = new URL(url);
HttpURLConnection conn = (HttpURLConnection) serverUrl.openConnection();
conn.setRequestMethod("GET");
conn.setInstanceFollowRedirects(false);
conn.addRequestProperty("Accept-Charset", "UTF-8;");
conn.addRequestProperty("User-Agent", "Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.2.8) Firefox/3.6.8");
conn.connect();
location = conn.getHeaderField("Location");
String tulj = location.replace("https://s.click.taobao.com/t_js?tu=","");
String refchangtu = URLDecoder.decode(tulj, "utf-8");
String changrealurl = tulianjie(refchangtu,location);
System.err.println("获取到的真实url:"+changrealurl);
}catch (Exception e) {
e.printStackTrace();
}
}
public static String tulianjie(String url,String tu){
String location = "";
try {
URL serverUrl = new URL(url);
HttpURLConnection conn = (HttpURLConnection) serverUrl.openConnection();
conn.setRequestMethod("GET");
conn.setInstanceFollowRedirects(false);
conn.addRequestProperty("Accept-Charset", "UTF-8;");
conn.addRequestProperty("User-Agent","Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.2.8) Firefox/3.6.8");
conn.addRequestProperty("Referer", tu);
conn.connect();
location = conn.getHeaderField("Location");
}catch (Exception e) {
e.printStackTrace();
}
return location;
}
获取到真实的链接后,再用正则匹配以下ID就可以获取到商品的ID了,再通过转链接口,就可以转换成自己的淘宝客链接了。
好了,就写到这吧,如果你有什么淘客问题,需要了解的,欢迎评论,我知道的话,我会回答你的。