get-cookies

获取网站的cookie,支持字符串,json,netcscpe标准格式

Dovrai installare un'estensione come Tampermonkey, Greasemonkey o Violentmonkey per installare questo script.

You will need to install an extension such as Tampermonkey to install this script.

Dovrai installare un'estensione come Tampermonkey o Violentmonkey per installare questo script.

Dovrai installare un'estensione come Tampermonkey o Userscripts per installare questo script.

Dovrai installare un'estensione come ad esempio Tampermonkey per installare questo script.

Dovrai installare un gestore di script utente per installare questo script.

(Ho già un gestore di script utente, lasciamelo installare!)

Dovrai installare un'estensione come ad esempio Stylus per installare questo stile.

Dovrai installare un'estensione come ad esempio Stylus per installare questo stile.

Dovrai installare un'estensione come ad esempio Stylus per installare questo stile.

Dovrai installare un'estensione per la gestione degli stili utente per installare questo stile.

Dovrai installare un'estensione per la gestione degli stili utente per installare questo stile.

Dovrai installare un'estensione per la gestione degli stili utente per installare questo stile.

(Ho già un gestore di stile utente, lasciamelo installare!)

// ==UserScript==
// @name         get-cookies
// @namespace    https://github.com/mudssky/get-cookies
// @version      0.2
// @author       mudssky
// @description  获取网站的cookie,支持字符串,json,netcscpe标准格式
// @grant        GM_registerMenuCommand
// @grant        GM_setClipboard
// @match     *://*/*
// @run-at document-start
// @icon         data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==
// ==/UserScript==


"use strict";
function getCookiesStr() {
    return document.cookie;
}
function getCookieObj() {
    var cookieObj = {};
    var cookieStr = getCookiesStr();
    var pairList = cookieStr.split(';');
    for (var _i = 0, pairList_1 = pairList; _i < pairList_1.length; _i++) {
        var pair = pairList_1[_i];
        var _a = pair.trim().split('='), key = _a[0], value = _a[1];
        cookieObj[key] = value;
    }
    return cookieObj;
}
function getCookiesJson() {
    var cookieObj = getCookieObj();
    return JSON.stringify(cookieObj);
}
function convertNetScopeCookies(copyFromChrome) {
    var cookieStr = '';
    var header = [
        '# Netscape HTTP Cookie File\n',
        '# generate by get-cookies userscript! Do not edit.\n\n',
    ];
    cookieStr += header.join('');
    var cookieslines = copyFromChrome.split('\n');
    console.log(cookieslines);
    console.log(copyFromChrome);
    for (var _i = 0, cookieslines_1 = cookieslines; _i < cookieslines_1.length; _i++) {
        var cookie = cookieslines_1[_i];
        var _a = cookie.split('\t'), name_1 = _a[0], value = _a[1], domain = _a[2], path = _a[3], expiration = _a[4], httpOnly = _a[6];
        if (!name_1)
            continue;
        if (domain.charAt(0) !== '.')
            domain = '.' + domain;
        httpOnly = httpOnly === '✓' ? 'TRUE' : 'FALSE';
        if (expiration === 'Session') {
            expiration = '' + new Date(Date.now() + 86400 * 1000).getTime() / 1000;
        }
        else {
            expiration = '' + Math.floor(new Date(expiration).getTime());
        }
        cookieStr +=
            [domain, 'TRUE', path, httpOnly, expiration, name_1, value].join('\t') +
                '\n';
    }
    return cookieStr;
}
function copyCookieJson() {
    var cookieJson = getCookiesJson();
    GM_setClipboard(cookieJson, { type: 'text', mimetype: 'text/plain' });
}
function copyCookieString() {
    GM_setClipboard(getCookiesStr(), { type: 'text', mimetype: 'text/plain' });
}
function createConfigUI() {
    var div = document.createElement('div');
    div.innerHTML = "\n  <textarea rows=\"20\" cols=\"100\" id=\"configUITextArea\"></textarea>\n  <div>\n  <button id=\"configUIConvert\">\u8F6C\u6362</button>\n  <button id=\"configUIcancel\">\u53D6\u6D88</button>\n  </div>\n  ";
    div.id = 'configUIdiv';
    div.style.cssText = 'display:none';
    document.body.appendChild(div);
    var cancelBtn = document.querySelector('#configUIcancel');
    cancelBtn.onclick = hideConfigUI;
    var convertBtn = document.querySelector('#configUIConvert');
    convertBtn.onclick = excuteConvert;
}
function hideConfigUI() {
    var div = document.querySelector('#configUIdiv');
    div.style.cssText = 'display:none';
}
function showConfigUI() {
    var div = document.querySelector('#configUIdiv');
    div.style.cssText =
        'width:800px;height:600px;position:fixed;left:0;right:0;top:0;bottom:0;margin:auto;';
}
function excuteConvert() {
    var cookieStr = document.querySelector('#configUITextArea').value;
    GM_setClipboard(convertNetScopeCookies(cookieStr), {
        type: 'text',
        mimetype: 'text/plain',
    });
}
;
(function () {
    function main() {
        createConfigUI();
        GM_registerMenuCommand('copy cookies string', copyCookieString);
        GM_registerMenuCommand('copy cookies json', copyCookieJson);
        GM_registerMenuCommand('convert cookies netscape', showConfigUI);
    }
    setTimeout(main, 3000);
})();