要回答如何:
首先我看到set-cookie
頭部沒有設置名爲ses
任何cookie,並此cookie奇蹟般地出現。您知道,在JavaScript中,要設置一個cookie,請撥打document.cookie
。於是我抓住源代碼,自動縮進它,然後搜索document.cookie
。您可以輕鬆地登錄到setNewSessionCookie
,您可以看到它創建了一個名爲ses
的cookie。
function setNewSessionCookie() {
var b = get_vid();
var d;
var e;
var a;
var c = new Date();
c.setTime(c.getTime());
a = getCookie("ses");
if (!a) {
b = get_vid();
if (!b) {
return
}
d = (new Date()).getTime();
a = b + "_" + d
}
e = new Date(c.getTime() + (1000 * 60 * 15));
document.cookie = name + "ses=" + a + ";expires=" + e.toGMTString()
}
此Cookie設置與由get_vid()
設置可變a
的值。
function get_vid() {
var b;
var a = getCookie("vsid");
if (!a) {
return false
}
if (a.search(",") == "-1") {
b = Base64.decode(a)
} else {
b = a
}
return b.split(",")[0]
}
TL; DR:此功能得到vsid
餅乾(這是由set-cookie頭髮送),解碼的base64它,昏迷前返回的部分。接下來,ses
cookie將通過附加"_" + (new Date()).getTime()
在我的情況下創建:
getCookie("vsid") // "ODk5NjEwMzEsMTQzNDMwNDM4Ng=="
Base64.decode(getCookie("vsid")) // "89961031,1434304386"
getCookie("ses") // "89961031_1434304048406"
我警告你在網頁拆解法律問題,也可能是對使用的網站的條款(這是不以任何語言我說 ...)。
編輯:對於這樣的問題:
上啓用JavaScript的網頁自動webtasks,使用Java
您可以在Selenium Project被interessed及其java driver
從他們的JavaScript你可以找到'setNewSessionCookie',看它是基於vid cookie的。我讓你做一個不復雜的逆向工程。您應該請求獲得編寫腳本的權限。 – Cyrbil
@cyrbil你是如何得出這個結論的?您是否使用Chrome調試器工具? – wintergrascph