Cookie Jar(HTTP 工作階段攜帶)
http_request 無狀態 —— 沒有任何工作階段 cookie 會在呼叫間延續,因此 login-then-call 的 REST 流程
無法在無頭情況下攜帶工作階段。本功能把 Set-Cookie 回應標頭解析進一個 jar 並建立 Cookie 請求標頭;
jar 可序列化為 JSON,因此工作階段可存檔與重新載入。
純標準函式庫(json);不匯入 PySide6。jar 為簡單的記憶體內名稱-值儲存(Max-Age<=0 / 空值時
清除 cookie),因此行為在 CI 中完全具決定性。
無頭 API
from je_auto_control import CookieJar, parse_set_cookie
jar = CookieJar()
jar.update(login_response_set_cookie_headers) # str 或 Set-Cookie 清單
cookie = jar.cookie_header() # "sid=abc; theme=dark"
# 後續請求把 `cookie` 當作 Cookie 標頭送出
jar.save("session.json")
jar = CookieJar.load("session.json")
parse_set_cookie 把單一 Set-Cookie 值解析成 {name, value, attributes}。CookieJar.update
套用一或多個 Set-Cookie 標頭(空值或 Max-Age<=0 時移除 cookie);``set`` 直接指定;``cookie_header``
建立請求標頭;``to_dict`` / from_dict 與 save / load 以 JSON 持久化 jar。(網域/路徑比對為簡化版
—— 這是工作階段攜帶用的 jar,而非完整 RFC 6265 政策引擎。)
執行器命令
AC_cookie_header 從一或多個 set_cookies 建立 {cookie_header, cookies};``AC_parse_set_cookie``
對單一標頭回傳 {cookie}。兩者皆以 MCP 工具(ac_cookie_header / ac_parse_set_cookie)以及
Script Builder 中 Data 分類下的命令提供。