Python 各种cookie格式化(EditThisCookie、playwright)

目录

1. 遍历请求头cookie

2. playwright 库转请求头 cookie

3. 插件 EditThisCookie 转 playwright 库


1. 遍历请求头cookie

import contextlib

def format_cookie(cookie_str):
    for c in cookie_str.split(';'):
        with contextlib.suppress(Exception):
            k, v = tuple(c.split('=', 1))
            print(k.strip(), "=", v.strip())

cookie_str = "security=low; PHPSESSID=ji9ndrpjc5b9dbssk1378qegki"
print(format_cookie(cookie_str))

结果

security=low
PHPSESSID=ji9ndrpjc5b9dbssk1378qegki

2. playwright 库转请求头 cookie

def format_cookie(cookie):
    cookie_str = ""

    for i, cook in enumerate(cookie):
        name = cook["name"]
        value = cook["value"]
        cookie_str += "{0}={1}".format(name, value)

        if i != len(cookie) -1:
            cookie_str += "; "
    return cookie_str

cookie = [
{
    "domain": "172.16.12.129",
    "expirationDate": 1706583781.78406,
    "hostOnly": True,
    "httpOnly": True,
    "name": "PHPSESSID",
    "path": "/",
    "sameSite": "unspecified",
    "secure": False,
    "session": False,
    "storeId": "0",
    "value": "ji9ndrpjc5b9dbssk1378qegki",
    "id": 1
},
{
    "domain": "172.16.12.129",
    "hostOnly": True,
    "httpOnly": False,
    "name": "security",
    "path": "/",
    "sameSite": "unspecified",
    "secure": False,
    "session": True,
    "storeId": "0",
    "value": "low",
    "id": 2
}
]
print(format_cookie(cookie))

结果

PHPSESSID=ji9ndrpjc5b9dbssk1378qegki; security=low

3. 插件 EditThisCookie 转 playwright 库

def format_cookie(cookie):
    for cook in cookie:
        if cook["sameSite"] == "lax" or cook["sameSite"] == "unspecified":
            cook["sameSite"] = "Lax"
        elif cook["sameSite"] == "no_restriction":
            cook["sameSite"] = "None"
    return cookie

cookie = [
{
    "domain": "172.16.12.129",
    "expirationDate": 1706583781.78406,
    "hostOnly": true,
    "httpOnly": true,
    "name": "PHPSESSID",
    "path": "/",
    "sameSite": "unspecified",
    "secure": false,
    "session": false,
    "storeId": "0",
    "value": "ji9ndrpjc5b9dbssk1378qegki",
    "id": 1
},
{
    "domain": "172.16.12.129",
    "hostOnly": true,
    "httpOnly": false,
    "name": "security",
    "path": "/",
    "sameSite": "unspecified",
    "secure": false,
    "session": true,
    "storeId": "0",
    "value": "low",
    "id": 2
}
]
print(format_cookie(cookie))

结果

[
{
    "domain": "172.16.12.129",
    "expirationDate": 1706583781.78406,
    "hostOnly": True,
    "httpOnly": True,
    "name": "PHPSESSID",
    "path": "/",
    "sameSite": "Lax",
    "secure": False,
    "session": False,
    "storeId": "0",
    "value": "ji9ndrpjc5b9dbssk1378qegki",
    "id": 1
},
{
    "domain": "172.16.12.129",
    "hostOnly": True,
    "httpOnly": False,
    "name": "security",
    "path": "/",
    "sameSite": "Lax",
    "secure": False,
    "session": True,
    "storeId": "0",
    "value": "low",
    "id": 2
}
]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

墨痕诉清风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值