您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
获取网站的cookie,支持字符串,json,netcscpe标准格式
- // ==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);
- })();