吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2906|回复: 15
收起左侧

[C&C++ 原创] 关于cookie问题,为什么你们备份了不能用,找到了解决方法

  [复制链接]
cgbsmy 发表于 2022-11-17 11:55
本帖最后由 cgbsmy 于 2022-11-17 21:17 编辑

1.复制cookie时要选择复制而不能直接复制值,因为有字符要转义
2.你们复制的时候都是没有带domain,所以在使用cookie时签到不能用,比如52pj
3.为什么有些论坛想退出账号不行,因为恢复cookie时,bbs.级无法访问到www.级,同第2点
4.京东或淘宝一下子过期的,可以把备份的再恢复cookie刷新页面,马上又可以使用了

屏幕截图 2022-11-17 115337.png
[C++] 纯文本查看 复制代码
void SetCookie(LPCWSTR uri, LPWSTR lpCookie)
{
        if (webviewWindow2)
        {
                if (cookieManager)
                {
//            cookieManager->DeleteAllCookies();
                        LPWSTR  cStart = lpCookie;
                        while (cStart)
                        {
                                LPWSTR cValue = lstrstr(cStart, L"=");
                                if (cValue > cStart && cValue != NULL)
                                {
                                        cValue[0] = L'\0';
                                        LPWSTR cName = cStart;
                                        cValue += 1;
                                        cStart = lstrstr(cValue, L"; ");
                                        if (cStart != NULL)
                                        {
                                                cStart[0] = L'\0';
                                                cStart += 2;
                                        }
                    LPWSTR cUri = lstrstr(cValue, L" ");
                    if (cUri)
                    {
                        cUri[0] = L'\0';
                        cUri += 1;
                    }
                                        wil::com_ptr<ICoreWebView2Cookie> cookie;
                    if(cUri)
                                            cookieManager->CreateCookie(cName, cValue, cUri, L"/", &cookie);
                    else
                        cookieManager->CreateCookie(cName, cValue, uri, L"/", &cookie);
                                        cookieManager->AddOrUpdateCookie(cookie.get());
                                }
                                else
                                        cStart = NULL;
                        }
                }
        }
}
void ViewCookie(LPWSTR wUri)
{
    std::wstring uri = wUri;
    HWND hWnd = hWeb;
        if (cookieManager)
        {
                cookieManager->GetCookies(uri.c_str(),
                        Callback<ICoreWebView2GetCookiesCompletedHandler>(
                                [hWnd, uri](HRESULT error_code, ICoreWebView2CookieList* list) -> HRESULT {
                                        std::wstring result,result1;
                                        UINT cookie_list_size;
                                        list->get_Count(&cookie_list_size);
                                        if (cookie_list_size == 0)
                                        {
                                                result += L"No cookies found.";
                                        }
                                        else
                                        {
                                                result = L"<input type='button' id='copy' onclick=document.getElementById('cookie').select();document.execCommand('copy');alert('已复制'); value='复制' /><textarea id='cookie' style='width:100%;height:39%;'>";
                        result1 = L"<input type='button' id='copy' onclick=document.getElementById('domain').select();document.execCommand('copy');alert('已复制'); value='复制带Domain' /><textarea id='domain' style='width:100%;height:55%;'>";
                        for (UINT i = 0; i < cookie_list_size; ++i)
                                                {
                                                        wil::com_ptr<ICoreWebView2Cookie> cookie;
                                                        list->GetValueAtIndex(i, &cookie);
                                                        if (cookie.get())
                                                        {
                                                                wil::unique_cotaskmem_string domain;
                                                                cookie->get_Domain(&domain);
                                                                wil::unique_cotaskmem_string name;
                                                                cookie->get_Name(&name);
                                                                wil::unique_cotaskmem_string value;
                                                                cookie->get_Value(&value);
                                result += name.get();
                                result += L"=";
                                result += value.get();
                                                                result1 += name.get();
                                                                result1 += L"=";
                                                                result1 += value.get();
                                result1 += L" ";
                                result1 += domain.get();
                                                                if (i != cookie_list_size - 1)
                                                                {
                                                                        result += L"; ";
                                    result1 += L"; ";
                                                                }
                                                        }
                                                }
                        result += L"</textarea><br/>";
                        result1 += L"</textarea>";
                        result += result1;
                        webviewWindow3->NavigateToString(result.c_str());
                                        }
                                        return S_OK;
                                })
                        .Get());
        }
}

免费评分

参与人数 9吾爱币 +5 热心值 +8 收起 理由
lsl1214 + 1 + 1 我很赞同!
senjk + 1 + 1 我很赞同!
arm1024 + 1 热心回复!
h512h + 1 我很赞同!
offoryou + 1 + 1 我很赞同!
niukouzaixian + 1 感谢您的宝贵建议,我们会努力争取做得更好!
kaiqiang + 1 + 1 我很赞同!
wnagmeng5212 + 1 用心讨论,共获提升!
wmsj666 + 1 谢谢@Thanks!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

RKCN 发表于 2022-11-18 23:37
buy360 发表于 2022-11-17 13:38
没太懂怎么使用的

同问,没太理解...

作者是想表达,从浏览器中复制出来的 cookie 实际上是没有 domain 的这个意思么?
至于作者提到的第 4 点,我就完全没有理解出来,如何恢复,即然已经过期,服务端还会正常识别么?
hhhh2333 发表于 2023-3-12 10:45
请教下1.2.3.9 没有这个功能啊。2.2.6.6点击XX秒后获取,左侧那个是不是要登录?或者输入什么值得买的个人中心网址,点击获取?什么值得买的网站不是进入个人中心获取cookie吗?
搞迷糊了,自己在浏览器F12看的和软件获取的不一样。
wmsj666 发表于 2022-11-17 12:31
buy360 发表于 2022-11-17 13:38
没太懂怎么使用的
KSPprince 发表于 2022-11-17 13:52
谢谢分享
lvcaolhx 发表于 2022-11-17 14:16
楼主发个成品吧
lhp462 发表于 2022-11-17 14:20
感谢楼主,学到了
yingchengfeng 发表于 2022-11-17 16:30

谢谢分享
NINE09 发表于 2022-11-17 16:36
谢谢分享
bjznhxy 发表于 2022-11-17 16:56
感谢分享
kj20220228 发表于 2022-11-17 17:17
跟我 之前遇到的问题一样,不过已经解决了
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 21:30

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表