我尝试从雅虎财务中获取cookie和面包屑,并使用cookie / crumb下载雅虎历史股票报价。但每次我尝试,我都无法得到 cookie,因为响应头中没有Set-Cookie。
这是我的代码:
CInternetSession MySession ("Mozilla/5.0 (Windows NT 5.1) Chrome/49.0.2623.112", 1, PRE_CONFIG_INTERNET_ACCESS, NULL, NULL, 0);
DWORD dwHttpRequestFlags = INTERNET_FLAG_EXISTING_CONNECT
| INTERNET_FLAG_NO_AUTO_REDIRECT
| INTERNET_FLAG_SECURE
| INTERNET_FLAG_IGNORE_CERT_CN_INVALID
| INTERNET_FLAG_IGNORE_CERT_DATE_INVALID;
CString szHeaders = _T("User-Agent: Mozilla/5.0 (Windows NT 5.1) Chrome/49.0.2623.112");
INTERNET_PORT nPort = INTERNET_DEFAULT_HTTPS_PORT;
CHttpConnection* pServer = NULL;
CHttpFile* pFile = NULL;
TCHAR sz [1025];
CString strServerName = "finance.yahoo.com";
pServer = MySession.GetHttpConnection(strServerName, nPort);
try
{
pFile = pServer->OpenRequest(CHttpConnection::HTTP_VERB_GET, "/quote/MSFT?p=MSFT", NULL, 1, NULL, "HTTP/1.1", dwHttpRequestFlags);
pFile->SendRequest(szHeaders, NULL, 0);
while (pFile->ReadString(sz, 1024))
{
//......
//........
}
CString rawHead;
pFile->QueryInfo(HTTP_QUERY_RAW_HEADERS_CRLF, rawHead, NULL);
}
我在Raw Header中根本没有看到任何Set-Cookie。我的代码出了什么问题? 如何使用MFC从雅虎财务中获取cookie?感谢。