注:我已經取代了過去的5個字符的會話ID與「X的原因很明顯刮痧:從瀏覽器會話ID的工作原理,但刮會話ID不
我刮網站。我可以在瀏覽器中看到登錄設置了一個名爲PHPSESSID
的cookie值。沒問題,我可以刮即:
superagent
.post(loginUrl)
.send(loginDetails)
.end(function(err, res){
var setCookieValue = res.headers['set-cookie'][0]
var sessionID = cookieParser.parse(setCookieValue).PHPSESSID
console.log(sessionID)
返回:
37c3bog3tf6erp2i6ss5vxxxxx
它看起來像一個PHP會話ID。大!現在使用會話ID:
superagent
.get(loggedInURL)
.set('Cookie', 'PHPSESSID'=sessionID)
.end(err, res)
將我重定向到登錄頁面。但會話ID我手動得到了來自瀏覽器,在完全一樣的格式,做工精細:
var fakeSessionID = 'a1oslk341uoht8p6009q5xxxxx'
superagent
.get(loggedInURL)
.set('Cookie', 'PHPSESSID='+fakeSessionID)
將返回loggedInURL,與登錄的用戶的完整的HTML。
爲什麼不是我正在拼命工作的會話ID?
- 的格式是相同
- 的字符計數是相同的(26個字符)
沒有什麼從這是工作和非工作碼之間的不同的會話ID旁白。
有什麼可以使差異?
抓取的cookie是否包含控制字符,例如最後一條新線? – halfer