0

我目前正在尝试从 python 请求中解析我的会话 cookie 并将它们发送到我的 chrome 扩展。我遇到了一些更复杂的 cookie 的问题,比如这个:

蟒蛇饼干

我的 python 代码如下所示:

cookieStr = ''
            cookies = [
            {'name': c.name, 'value': c.value, 'domain': c.domain, 'path': c.path, 'url': ''} for c in cookiesGet]

            for cookie in cookies:
                if cookie['domain'][0] == ".":
                    cookie['url'] = cookie['domain'][1:]
                else:
                    cookie['url'] = cookie['domain']
                    cookie['url'] = "https://"+cookie['url']

                cookies = json.dumps(cookies)
                print(cookies)
                cookieStr = urllib.parse.quote(base64.b64encode(bytes(cookies, 'utf-8')).decode())
                if not cookieStr:
                    print('')
                url = urllib.parse.quote(base64.b64encode(bytes(redirectUrl, 'utf-8')).decode())

面临此错误的扩展问题: Chrome 扩展错误

当然,扩展 JS 代码如下所示:

function setCookie(cookieName, cookieDomain, cookieUrl, cookieVal) {
    // console.log(cookieName,cookieDomain, cookieVal,cookieUrl);
    chrome.cookies.set({
        "name": cookieName,
        "domain": cookieDomain,
        "url": cookieUrl,
        "value": cookieVal
    }, function (cookie) {
        console.log(JSON.stringify(cookie));
        console.log(chrome.extension.lastError);
        console.log(chrome.runtime.lastError);
    });
}

function parseCookie(cookie) {
    setCookie(cookie['name'], cookie['domain'], cookie['url'], cookie['value']);
}

function init() {
......
.....
var cookieStr = decodeURIComponent(url.searchParams.get("cookie"))//.replace(" ", "+");
cookieStr = atob(cookieStr);
console.log(cookieStr);
var cookies = JSON.parse(cookieStr);
var redirect = atob(url.searchParams.get("redirect").toString());

for (var cookie of cookies) {
   parseCookie(cookie)
}

4

0 回答 0