C++ 如何获取cookie

本文介绍了一个简单的Win32 C++程序,用于从指定的URL中获取Cookie信息。程序通过命令行参数接收网址,并使用WinInet.h库中的InternetGetCookie函数来读取Cookie。如果Cookie获取成功,程序将输出相应的Cookie数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

//  win32_cui.cpp : 定义控制台应用程序的入口点。
//

#include 
" stdafx.h "
#include 
< Windows.h >
#include 
< WinInet.h >
#include 
< iostream >
using   namespace  std;

int  _tmain( int  argc,  char *  argv[])
{
    
if  (argc  != 2
    {
        cout 
<<   " Please useing:test http://www.google.cn " ;
        cout 
<<  endl;
    }
    
else
    {
        
int  ilen = strlen(argv[ 1 ]);
        
if  (ilen < 256 )
        {
            
char  szURL[ 256 ] = { 0 };
            strncpy(szURL,argv[
1 ],ilen);
            LPSTR lpszData 
=  NULL;   
            DWORD dwSize
= 0
            lpszData
= new   char [ 1 ];
            memset(lpszData,
0 , 1 );

retry:
            
if  ( ! InternetGetCookie(szURL,  "" , lpszData,  & dwSize))
            {
                
if  (GetLastError() ==  ERROR_INSUFFICIENT_BUFFER)
                {
                    delete []lpszData;
                    lpszData 
=   new   char [dwSize + 1 ];
                    memset(lpszData,
0 ,dwSize + 1 );
                    
goto  retry;
                }
                
else
                {
                    cout
<< " cookie为空! " ;
                }

            }
            
else
            {
                cout
<< " 获取cookie成功! " << endl;
            }
            cout
<< " 您输入网址的cookie为: " << endl <<  lpszData  << endl;
            delete[]lpszData;
        }
        
else
        {
            cout 
<< " 参数超长! " ;
            
return   - 1 ;
        }
    }
    
return   0 ;
}

 

 

转载于:https://www.cnblogs.com/duzouzhe/archive/2010/01/02/1637995.html

这个获取谷歌cookies的源码目前只能获取谷歌8.0以下的版本,源码是别人分享出来的但是由于谷歌自动更新的机制,我刚开始使用的时候,也是一度差点怀疑人生,只能用几个小时,就自己自动升级版本了,然后就去研究8.0以上版本的解密方式,但由于不会java代码,目前还在研究中,这是8.0以上版本的java解密方式:https://github.com/mlkui/chrome-cookie-password-decryption 简单说明一下8.0以上版本的加密方式:     8.0以上版本用的是[color=var(--color-text-primary)  !important] Aes256Gcm 加密,解密的key在\Google\Chrome\User Data\Local State这个文件里面,         key也是经过winapi里面的DPAPI加密的,需要解密kay之后,才能拿到aes密钥,目前我还在研究怎么解开,希望有解开的大神分享一下,如果我解开了也会分享 这次分享主要是针对那些和我一样没能力的小白 先下载8.0以下版本的谷歌浏览器下载地址:https://www.chromedownloads.net/chrome64win/   目前我用的是6.9 我也是随便找了一个 安装完后,阻断谷歌浏览器更新(这一步非常重要,如果没阻断就会自动更新,重启了谷歌浏览器后,用这个源码就取不到cookies了) 阻断方式我也是百d到的 第一步:右键我的电脑>管理>任务计划程序>任务计划程序库   找到 GoogleUpdate 的两个项目,然后右键禁用,然后在 右键>属性>触发器  将所有触发器的任务删除,两个都操作一遍 第二步:找到文件夹Update位置在:AppData\Local\Google里面 第三步:将Update这个目录给删了,然后在创建一个空的Update 第三步:右键Update>属性>安全>编辑 吧上面的所有组和用户名的SYSTEM权限,全部点拒绝,就是设置所有用户组都不能访问读取和执行这个文件夹 第四步:打开任务管理器>启动 找到GoogleUpdateCore 右键禁用 (我的是win10系统) 然后在重启一下电脑就行了
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值