经过数月的研究,终于小有成果,与大家分享一下,纯属对算法的兴趣爱好,如果侵权,请告知,立刻删除。
有过爬虫经验的人不难发现,抖音每个请求都有一个必要的参数:X-Gorgon。它是经过层层加密算法生成的,想要破解它真是一项浩大的工程。
附上本人的部分源码,
public static Map<String,Object> createXGorgon(String url, String cookie){
long ts = System.currentTimeMillis() / 1000;
long rticket = System.currentTimeMillis();
String params = url.substring(url.indexOf("?") + 1, url.length());
byte[] xgons = getXGonBytes(params, cookie);
String g= getXGorgon(ts, xgons);
Map<String, Object> headers = new HashMap<>();
headers.put("X-Gorgon", g);
headers.put("X-Khronos", ts);
headers.put("X-SS-REQ-TICKET", rticket);
return headers;
}
其中getXGonBytes 是将url中的参数及cookie进行转码,生成byte数组。
最主要的部分是 getXGorgon 函数,由于代码量过多,只能展示主要的部分