标签 cookie 下的文章

IEEE 近日发布了一项新的隐私标准:7012-2025 IEEE 标准,其昵称为 MyTerms。该标准定义了一套机制,用于在个人与在线服务提供方之间交换个人信息,并明确规定个人如何在交易过程中执行自身的隐私要求。

这一新标准在伦敦举行的一场活动上正式发布。Linux Journal 主编、《The Intention Economy: When Customers Take Charge》一书作者,同时也是 MyTerms 最早倡导者之一、该标准委员会联合主席的 Doc Searls 在现场介绍了这一标准。他将 MyTerms 描述为一种尝试:把我们在现实世界中对“隐私”的理解,与在线世界重新对齐。

Searls 表示,MyTerms 是一次“彻底翻转既有规则”的尝试。在这一模式下,用户成为“第一方”,不再被动接受网站条款,而是通过选择一套预先定义的条款,或使用一份可在不同网站间通用的默认协议,来主动决定自己如何与作为“第二方”的服务和产品提供者互动。

这些条款既可以用于持续性的关系,比如“仅用于服务交付”或“在支持数据可携带性的前提下用于服务交付”,也可以用于一次性的数据贡献场景,例如“用于 AI 训练和运行”“共享意图数据”等。一旦第二方接受相关条款,该条款即构成一份合同,在法律上约束其必须按照第一方的约定方式使用数据。

MyTerms 协议以机器可读格式定义,可以通过 HTTP 头信息或其他机制进行传输。协议双方都会各自保留一份完全一致的记录。

此处输入图片的描述

Searls 指出

这一机制将使 Cookie 提示彻底过时,并为个人与组织、客户与企业、需求与供给之间的关系奠定更加稳固的基础。

专注于数字身份与用户主导个人数据的公司 Customer Futures Ltd. 创始人 Jamie Smith 也表示:“我们已经接近当前在线模式的可接受极限。人们不断点击自己根本不会阅读的条款和条件,……而这些条款并没有真正完成它们应该承担的功能。”

Smith 认为,在当前这个由 AI Agent 逐渐替代人类进行上网操作的时代,MyTerms 显得尤为重要。这些 AI Agent 正在代表用户完成购物、预订、投诉处理、与各类机构互动等任务,而 Cookie 并不适用于“代理型商业”(agentic commerce)。在未来,每个 Agent 都将拥有自己的身份,并发布自己的条款,也就是合同。

他表示:

随着 Agent 成为新的客户渠道,MyTerms 将成为企业与 Agent 之间建立信任、并展开交互的重要基石。

Consumer Reports 实验工程负责人 Dan Leninger 描绘了一个未来场景:用户通过在线推荐系统购买一件家电。用户不仅会提交自己的 MyTerms 条款,还会附加额外条件,例如最高价格、最晚交付时间等。推荐系统随后只会展示那些已接受用户条款的商家,用户即可完成购买。

年龄验证平台 Yoti 的首席商务官 John Abbott 则讨论了 MyTerms 对儿童的潜在影响,尤其是在年龄验证方面。他认为,MyTerms 为个人根据自身年龄明确数据使用方式提供了一种更合适的机制,也有助于企业应对全球范围内日益严格的监管要求。

MyTerms 标准的制定历时约八年,其项目授权请求(Project Authorization Request,PAR)最早于 2017 年 12 月提出并获得批准。若想进一步深入了解 MyTerms,可以阅读 Doc Searls 围绕该主题撰写的大量文章。

原文链接:

https://www.infoq.com/news/2026/02/myterms-privacy-cookies/

签到服务框架: https://github.com/qd-today/qd


当天首次签到

  1. 签到框架日志
    图片
  2. Telegram 通知
    图片


当天已签过到

  1. 签到框架日志
    图片
  2. Telegram 通知
    图片


如何配置?

现在还没有上架 qd 项目的 默认仓库 ,后续看情况,尽量上架。

  1. 现阶段可以把以下代码保存为har文件,导入到 qd 系统中,保存为模板。
    图片
复制
[
    {
        "comment": "发起签到请求",
        "request": {
            "method": "POST",
            "url": "https://2libra.com/api/sign",
            "headers": [
                {
                    "name": "User-Agent",
                    "value": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0"
                },
                {
                    "name": "Accept",
                    "value": "application/json, text/plain, */*"
                },
                {
                    "name": "Accept-Language",
                    "value": "zh,zh-CN;q=0.9,en-US;q=0.8"
                },
                {
                    "name": "Accept-Encoding",
                    "value": "gzip, deflate, br, zstd"
                },
                {
                    "name": "Referer",
                    "value": "https://2libra.com/"
                },
                {
                    "name": "Origin",
                    "value": "https://2libra.com"
                },
                {
                    "name": "Sec-GPC",
                    "value": "1"
                },
                {
                    "name": "Sec-Fetch-Dest",
                    "value": "empty"
                },
                {
                    "name": "Sec-Fetch-Mode",
                    "value": "cors"
                },
                {
                    "name": "Sec-Fetch-Site",
                    "value": "same-origin"
                },
                {
                    "name": "Connection",
                    "value": "keep-alive"
                },
                {
                    "name": "Cookie",
                    "value": "{{cookie}}"
                },
                {
                    "name": "TE",
                    "value": "trailers"
                },
                {
                    "name": "Authorization",
                    "value": "{{Authorization}}"
                }
            ],
            "cookies": [

            ]
        },
        "rule": {
            "success_asserts": [
                {
                    "re": "201",
                    "from": "status"
                },
                {
                    "re": "你今天已经签到过了",
                    "from": "content"
                }
            ],
            "failed_asserts": [

            ],
            "extract_variables": [
                {
                    "name": "m",
                    "re": "(?<=\"m\":\").*?(?=\")",
                    "from": "content"
                },
                {
                    "name": "message",
                    "re": "(?<=\"message\":\").*?(?=\")",
                    "from": "content"
                },
                {
                    "name": "streakd",
                    "re": "(?<=\"streak\":)\\d+(?=[,}])",
                    "from": "content"
                },
                {
                    "name": "sign_coins",
                    "re": "(?<=\"coins\":)\\d+(?=[,}])",
                    "from": "content"
                },
                {
                    "name": "balanced",
                    "re": "(?<=\"balance\":)\\d+(?=[,}])",
                    "from": "content"
                }
            ]
        }
    },
    {
        "comment": "查询账户信息",
        "request": {
            "method": "GET",
            "url": "https://2libra.com/api/users/info?fields=info%2Cexp%2Ccoins",
            "headers": [
                {
                    "name": "Host",
                    "value": "2libra.com"
                },
                {
                    "name": "User-Agent",
                    "value": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0"
                },
                {
                    "name": "Accept",
                    "value": "application/json, text/plain, */*"
                },
                {
                    "name": "Accept-Language",
                    "value": "zh,zh-CN;q=0.9,en-US;q=0.8"
                },
                {
                    "name": "Accept-Encoding",
                    "value": "gzip, deflate, br, zstd"
                },
                {
                    "name": "Referer",
                    "value": "https://2libra.com/"
                },
                {
                    "name": "Sec-GPC",
                    "value": "1"
                },
                {
                    "name": "Sec-Fetch-Dest",
                    "value": "empty"
                },
                {
                    "name": "Sec-Fetch-Mode",
                    "value": "cors"
                },
                {
                    "name": "Sec-Fetch-Site",
                    "value": "same-origin"
                },
                {
                    "name": "Connection",
                    "value": "keep-alive"
                },
                {
                    "name": "Cookie",
                    "value": "{{cookie}}"
                },
                {
                    "name": "Authorization",
                    "value": "{{Authorization}}"
                }
            ],
            "cookies": [

            ]
        },
        "rule": {
            "success_asserts": [
                {
                    "re": "200",
                    "from": "status"
                }
            ],
            "failed_asserts": [

            ],
            "extract_variables": [
                {
                    "name": "username",
                    "re": "(?<=\"username\":\").*?(?=\")",
                    "from": "content"
                },
                {
                    "name": "user_number",
                    "re": "(?<=\"user_number\":\").*?(?=\")",
                    "from": "content"
                },
                {
                    "name": "currentExp",
                    "re": "(?<=\"currentExp\":)\\d+(?=[,}])",
                    "from": "content"
                },
                {
                    "name": "nextLevelExp",
                    "re": "(?<=\"nextLevelExp\":)\\d+(?=[,}])",
                    "from": "content"
                },
                {
                    "name": "expToNext",
                    "re": "(?<=\"expToNext\":)\\d+(?=[,}])",
                    "from": "content"
                },
                {
                    "name": "balance",
                    "re": "(?<=\"coins\":)\\d+(?=[,}])",
                    "from": "content"
                },
                {
                    "name": "level",
                    "re": "(?<=\"exp\":\\{\"level\":)\\d+(?=[,}])",
                    "from": "content"
                }
            ]
        }
    },
    {
        "request": {
            "method": "GET",
            "url": "https://2libra.com/api/sign/stats",
            "headers": [
                {
                    "name": "User-Agent",
                    "value": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0"
                },
                {
                    "name": "Accept",
                    "value": "application/json, text/plain, */*"
                },
                {
                    "name": "Accept-Language",
                    "value": "zh,zh-CN;q=0.9,en-US;q=0.8"
                },
                {
                    "name": "Accept-Encoding",
                    "value": "gzip, deflate, br, zstd"
                },
                {
                    "name": "Referer",
                    "value": "https://2libra.com/"
                },
                {
                    "name": "Sec-GPC",
                    "value": "1"
                },
                {
                    "name": "Sec-Fetch-Dest",
                    "value": "empty"
                },
                {
                    "name": "Sec-Fetch-Mode",
                    "value": "cors"
                },
                {
                    "name": "Sec-Fetch-Site",
                    "value": "same-origin"
                },
                {
                    "name": "Authorization",
                    "value": "{{Authorization}}"
                },
                {
                    "name": "Connection",
                    "value": "keep-alive"
                },
                {
                    "name": "Cookie",
                    "value": "{{cookie}}"
                }
            ],
            "cookies": [

            ]
        },
        "rule": {
            "success_asserts": [
                {
                    "re": "200",
                    "from": "status"
                }
            ],
            "failed_asserts": [

            ],
            "extract_variables": [
                {
                    "name": "streak",
                    "re": "(?<=\"streak\":)\\d+(?=[,}])",
                    "from": "content"
                },
                {
                    "name": "maxStreak",
                    "re": "(?<=\"maxStreak\":)\\d+(?=[,}])",
                    "from": "content"
                },
                {
                    "name": "isotime",
                    "re": "(?<=\")\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z(?=\")",
                    "from": "content"
                }
            ]
        }
    },
    {
        "comment": "字符串替换",
        "request": {
            "method": "POST",
            "url": "api://util/string/replace",
            "headers": [

            ],
            "cookies": [

            ],
            "data": "r=json&p=Z$&s={{isotime}}&t=%2B0000"
        },
        "rule": {
            "success_asserts": [
                {
                    "re": "200",
                    "from": "status"
                },
                {
                    "re": "\"状态\": \"OK\"",
                    "from": "content"
                }
            ],
            "failed_asserts": [

            ],
            "extract_variables": [
                {
                    "name": "time0",
                    "re": "\"处理后字符串\": \"(.*)\"",
                    "from": "content"
                }
            ]
        }
    },
    {
        "comment": "返回对应时间戳和时间",
        "request": {
            "method": "POST",
            "url": "api://util/timestamp",
            "headers": [

            ],
            "cookies": [

            ],
            "data": "ts=&form=%Y-%m-%dT%H:%M:%S.%f%z&dt={{time0|urlencode}}"
        },
        "rule": {
            "success_asserts": [
                {
                    "re": "200",
                    "from": "status"
                }
            ],
            "failed_asserts": [

            ],
            "extract_variables": [
                {
                    "name": "bj_date",
                    "re": "\"北京时间\"\\s*:\\s*\"(\\d{4}-\\d{2}-\\d{2})",
                    "from": "content"
                },
                {
                    "name": "bj_time",
                    "re": "\"北京时间\"\\s*:\\s*\"\\d{4}-\\d{2}-\\d{2}T(\\d{2}:\\d{2}:\\d{2})",
                    "from": "content"
                }
            ]
        }
    },
    {
        "comment": "Unicode 转换",
        "request": {
            "method": "POST",
            "url": "api://util/unicode",
            "headers": [

            ],
            "cookies": [

            ],
            "data": "html_unescape=false&content={{username}}(第 {{user_number}} 号会员)\\r\\n{% if sign_coins %}{{message}},签到时间为:{{bj_date}} {{bj_time}},本次签到获得 {{sign_coins}} 金币{% else %}{{m}}{% endif %}\\r\\n 当前金币总数为 {{balance}} 个,已累计签到 {{streak}} 天\\r\\n 当前用户等级为 {{level}} 级,经验值为 {{currentExp}} 点,升级还需要 {{expToNext}} 点经验值"
        },
        "rule": {
            "success_asserts": [
                {
                    "re": "200",
                    "from": "status"
                },
                {
                    "re": "\"状态\": \"200\"",
                    "from": "content"
                }
            ],
            "failed_asserts": [

            ],
            "extract_variables": [
                {
                    "name": "__log__",
                    "re": "\"转换后\": \"(.*)\"",
                    "from": "content"
                }
            ]
        }
    }
]
  1. 通过刚刚导入的模板新建一个任务,填入你在 2Libra 的 cookie 或者 Authorization 即可。
    图片

然后这个任务就会定时执行啦!希望收到推送通知的话可以再配置一下推送渠道。

  • 图片

有很多原因可以导致某些网站无法打开或加载缓慢。这些原因可以包括以下各种因素:

网络连接问题: 您的互联网连接可能存在问题,如断开、丢包或较低的带宽,这会导致网站加载缓慢或无法加载。

网站服务器问题: 如果目标网站的服务器出现问题,如服务器宕机、过载或网络故障,那么您将无法访问该网站。

DNS问题: DNS(域名系统)负责将域名解析为 IP 地址。如果DNS服务器出现问题,将导致域名解析失败,从而无法访问网站。

防火墙和安全软件: 防火墙或安全软件可能会阻止您访问某些网站,尤其是在其黑名单中的网站。

浏览器问题: 您使用的浏览器可能存在问题,例如缓存问题、插件冲突或过时的浏览器版本。

地理位置: 您的地理位置可能会影响到网站的加载速度。如果您与目标服务器之间的距离较远,加载速度可能较慢。

设备问题: 您的计算机或设备可能存在问题,如性能不足、过热或磁盘空间不足,这可能会导致网站加载缓慢。

网络流量: 网站所在的服务器可能正在经历高流量,这会导致加载速度变慢。

网站设计和优化: 一些网站可能设计不佳或未经过优化,导致加载时间较长。大量的大型媒体文件和广告也可能影响加载速度。

互联网服务提供商(ISP)问题: 您的ISP可能会对特定网站或内容进行流量限制,这可能会导致访问特定网站时速度较慢。

解决这些问题可能需要不同的方法。您可以尝试以下步骤来改善网站访问速度:

  检查您的互联网连接,确保它稳定且具有足够的带宽。
  清除浏览器缓存和Cookie。
  使用不同的浏览器进行测试,以查看是否存在浏览器相关问题。
  检查您的设备,确保它没有性能问题。
  尝试使用不同的DNS服务器,如Google DNS 或 Cloudflare DNS。
  联系您的ISP 以了解是否存在任何网络问题。
如果问题持续存在,可能需要进一步的网络故障排除或联系相关网络服务提供商或网站管理员以获取支持。

代码地址:

https://github.com/geeeeeeeek/jd_qianggou

使用步骤:

第一步:获取 cookie

登录 pc 版 JD 商城,进入购物车,打开控制台,查看接口 https://api.m.jd.com/api?functionId=pcCart_jc_getCurrentCart 的 cookie ,填入 cookie 的输入框

第二步:获取商品 id

找到需要抢购的商品,查看详情,可以看到浏览器的 URL 为 https://item.jd.com/xxxxxxxx.html , 复制 xxxxxxxx 填入商品 ID 框,

第三步:设置抢购时间和数量

抢购时间需要格式设置,格式为 yyyy-MM-dd HH:mm:ss ,如 2022-05-02 12:00:00 。数量可随意设置,但需要考虑到店铺的库存以及是否设置为限购 1 件。

第四步:开始抢单
这个时候可以泡一杯茶,静待好事发生。

即可