爱奇艺刷新p值

1649天前 · 分享 · 1506次阅读

p值,也就是cookie中的P00001,每隔一定时间后会失效,通过这个接口可以得到新的p值。
curl 命令
其中cookie_string的形式是key1:value1;key2:value2

curl -e https://www.iqiyi.com -b "cookie_string" https://passport.iqiyi.com/apis/reglogin/renew_authcookie.action?ptid=01010021010000000000

正常情况下返回如下

{
    "msg": null,
    "code": "A00000",
    "data": "p值"
}

示意如图
refresh_iqiyi_p.png

该接口是在登录情况下cookie某个值过期后需要刷新
网页中的接口请求的js代码函数getLoginStatusFromInterface

getLoginStatusFromInterface() {
    var e = this;
    return Object(f["a"])((function * () {
        const t = "https://passport.iqiyi.com/apis/reglogin/renew_authcookie.action",
        o = yield e.getRenewParams(),
        r = {
            params: o,
            interceptor: {
                needValidation: !1
            },
            dataType: "jsonp"
        };
        return yield Object(b["a"])(t, r)
    }))()
}

函数getLoginStatusFromInterface调用的js代码是

initPopupMessage() {
    var t = this;
    return Object(f["a"])((function * () {
        if (!t.hasLogin) return void(t.showVipMessage = !1);
        const o = e.cookie.get("QC163");
        if (o) t.showLoginExpiredTip = !1,
        t.initVipMessage();
        else {
            const e = yield t.getLoginStatusFromInterface(),
            o = "A00001" === e.code;
            t.resetLoginTimerCookie(),
            o ? (t.userLogoutFun(), t.showLoginExpiredTip = !0) : (t.showLoginExpiredTip = !1, t.initVipMessage())
        }
    }))()
}

通过QC163顺藤摸瓜发现这一段代码

resetLoginTimerCookie() {
    e.cookie.set("QC163", "1", {
        expires: 864e5,
        domain: ".iqiyi.com"
    })
}

其中864e586400000
1 天 = 24*60*60*1000 ms
所以p值需要一天内刷新一次

👍 0

none

最后修改于1649天前

评论

贴吧 狗头 原神 小黄脸
收起

贴吧

狗头

原神

小黄脸

目录

avatar

未末

迷失

126

文章数

275

评论数

7

分类