[英]How to get cookies from a browser using JavaScript and then use them for authorization?
此實現用於 e2e 測試,作為檢查文件是否可下載而不是實際下載的解決方法。
目前我正在使用以下代碼從特定的 HEAD 請求中獲取標頭 + 狀態。 這里的問題是它沒有使用前面步驟中的授權,所以顯然我將不得不再次授權,但這次使用 cookie。
1)如何從瀏覽器獲取 cookie(我只需要sessionID
cookie),我的意思是從活動會話中獲取,因為正如我所說,我已經登錄了? 並且還將 sessionID 例如存儲在全局變量中。
2) 在下面提供的代碼中,我如何發送/使用 cookie ( sessionID
) 進行授權?
我正在使用 JavaScript/Node.js
getHeader: async function (url) { var XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest; var xhr = new XMLHttpRequest(); url = "{url}.pdf"; xhr.open("HEAD", url, true); xhr.onreadystatechange = function () { if (xhr.readyState == this.DONE) { console.log('HEADERS: ' + xhr.getAllResponseHeaders()); console.log('STATUS: ' + xhr.status) } }; xhr.send(null); },
我認為您應該使用 cookie-parser 模塊( https://www.npmjs.com/package/cookie-parser ):
var express = require('express')
var cookieParser = require('cookie-parser')
var app = express()
app.use(cookieParser())
app.get('/', function (req, res) {
// Cookies that have not been signed
console.log('Cookies: ', req.cookies)
// Cookies that have been signed
console.log('Signed Cookies: ', req.signedCookies)
})
app.listen(8080)
除此之外,您可以查看 ExpressJS 文檔以了解使用 cookie 時的最佳實踐: https ://expressjs.com/en/advanced/best-practice-security.html#use-cookies-securely
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.