C++ 使用C+读取cookie(客户端)+;
我对Wininet dll的一些API调用感到非常困难。我正在尝试阅读IE 9设置的客户端cookies。这是密码C++ 使用C+读取cookie(客户端)+;,c++,cookies,client,C++,Cookies,Client,我对Wininet dll的一些API调用感到非常困难。我正在尝试阅读IE 9设置的客户端cookies。这是密码 #include "stdafx.h" #include <Windows.h> #include <WinInet.h> #include <iostream> int _tmain(int argc, _TCHAR* argv[]) { LPTSTR lpData = NULL; DWOR
#include "stdafx.h"
#include <Windows.h>
#include <WinInet.h>
#include <iostream>
int _tmain(int argc, _TCHAR* argv[])
{
LPTSTR lpData = NULL;
DWORD dwSz = 500;
std::cout << "Hello Chris" << std::endl;
lpData = new TCHAR[dwSz];
std::wcout << "Arg 0: " << argv[1] << std::endl;
bool val = InternetGetCookieEx(argv[1], argv[2], lpData, &dwSz, INTERNET_COOKIE_THIRD_PARTY | INTERNET_FLAG_RESTRICTED_ZONE, NULL);
if (!val)
{
if (GetLastError() == ERROR_INSUFFICIENT_BUFFER)
{
std::cout << "Insufficent Buffer size" << std::endl;
lpData = new TCHAR[dwSz];
val = InternetGetCookieEx(argv[1], argv[2], lpData, &dwSz, INTERNET_COOKIE_THIRD_PARTY | INTERNET_FLAG_RESTRICTED_ZONE, NULL);
if (val)
{
std::cout << "Cookie Data: " << lpData << std::endl;
}
else
{
std::cout << "ERROR Code: " << GetLastError() << std::endl;
}
}
else
{
int err = GetLastError();
std::cout << "ERROR Code: " << err << std::endl;
}
}
else
{
std::cout << "Cookie Data: " << lpData << std::endl;
}
//}
return 0;
#包括“stdafx.h”
#包括
#包括
#包括
int _tmain(int argc,_TCHAR*argv[]
{
LPTSTR lpData=NULL;
DWORD dwSz=500;
std::cout假设cookie名称正确,然后尝试删除互联网cookie\u第三方和/或互联网标志\u限制区
标志,看看会发生什么。或者尝试调用InternetGetCookie()
,而该标志不可用
另一方面,当InternetGetCookieEx()
返回错误\u缓冲区不足
时,您正在泄漏内存。您需要删除[]
现有缓冲区,然后再调用新建[]
分配一个新的缓冲区。假设cookie名称正确,然后尝试删除INTERNET\u cookie\u第三方和/或INTERNET\u FLAG\u RESTRICTED\u ZONE
标志,看看会发生什么。或者尝试调用没有此类标志的InternetGetCookie()
另一方面,当InternetGetCookieEx()
返回错误\u缓冲区不足
时,您正在泄漏内存。您需要删除[]
现有缓冲区,然后调用新建[]
来分配新缓冲区。
尝试使用IEGetProtectedModeCookie
尝试使用IEGetProtectedModelCookie嘿,我知道内存泄漏。坦率地说,我并不担心,这真的是一次性代码。这是用于确定某些东西如何工作的POC。因此,此代码实际上永远不会被使用。顺便说一句,在尝试InternetGetCookieEx之前,我已经尝试过InternetGetCookie不过,它产生了完全相同的结果。嘿,我知道内存泄漏。坦白说,我并不担心,这真的是一次性代码。这是用于确定某些东西如何工作的POC。因此,这段代码实际上永远不会被使用。顺便提一下。在尝试InternetGetCookieEx之前,我已经尝试过InternetGet但它产生了完全相同的结果。请在问题中包含来自链接的一些信息,因为链接有时会变得无效。请在问题中包含来自链接的一些信息,因为链接有时会变得无效。