现在大家做淘宝客公众号的比较多,最近也是开发了淘宝客系统,解析淘口令也算是比较烦心的一件事了。直接上思路+代码,不啰嗦。
首先我们判断,用户发送的消息中是否含有https://m.tb.cn,一般淘口令复制出来都是这个链接
if( Content.indexOf("https://m.tb.cn") > -1 )
这个时候我们要先返回消息给微信,因为微信会5秒没响应继续请求,造成二次发送消息给用户,可以先发送个空消息或者“正在查询..”等等之类的,然后可以跑线程去解析连接查询优惠券。
直接解析url代码,map返回值是id和title就是 商品的id和商品的title,我们拿着这个title去调用淘宝的api去查询商品,用id去精准匹配到用户想要那个商品,就很容易查询到优惠券啦~
public Map<String,String> tklToTBUrl(String url) {
Map<String,String> map = new HashMap<>();
String result = null;
String title = null;
String id = null;
String ecurl = null;
try {
ecurl = result = HttpUtil.get(url,null);
title = result.substring(result.indexOf("\"title\":\""));
title = title.replace("\"title\":\"","");
title = title.substring(0,title.indexOf("\""));
map.put("title",title);
result = result.substring(result.indexOf("var url = '"));
result = result.substring(0,result.indexOf("';"));
try {
id = result.substring(result.indexOf("&id="));
id = id.replace("&id=","");
id = id.substring(0,id.indexOf("&"));
map.put("id",id);
}catch (Exception e){
result = ecurl ;
result = HttpUtil.get(result.substring(result.indexOf("var url = '")+"var url = '".length(),result.indexOf("'; \t//短地址有问题时跳转的地址")),null);
try {
result = HttpUtil.get(url,null);
title = result.substring(result.indexOf("\"title\":\""));
title = title.replace("\"title\":\"","");
title = title.substring(0,title.indexOf("\""));
map.put("title",title);
result = result.substring(result.indexOf("var url = '"));
result = result.substring(0,result.indexOf("';"));
id = result.substring(result.indexOf("https://a.m.taobao.com/i"));
id = id.replace("https://a.m.taobao.com/i","");
id = id.substring(0,id.indexOf(".htm"));
map.put("id",id);
}catch (Exception es){
System.out.println(es);
}
}
} catch (Exception e) {
e.printStackTrace();
}
return map;
}
微信:mmqbb8,只有晚上在线,代做公众号
版权声明:本文为Lsetea原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。