Windows C++ http get的實現之(三):C++獲取股票歷史數據

上圖

 代碼:

#include "stdafx.h"
#include <iostream>
#include <string>
#include <sstream>
#include <vector>
#include <afxinet.h>

#pragma comment(lib, "Wininet.lib")

std::vector<std::string> GetDataFromURL(char* url)
{
	std::vector<std::string> vec;
	HINTERNET hSession = InternetOpen(_T("UrlTest"), INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0);
	std::string strResponce;
	if (hSession != NULL)
	{
		HINTERNET hHttp = InternetOpenUrl(hSession, url, NULL, 0, INTERNET_FLAG_DONT_CACHE, 0);
		if (hHttp != NULL)
		{
			const int MAXSIZE = 1024;
			char buffer[MAXSIZE];
			ULONG number = 1;
			while (number > 0)
			{
				InternetReadFile(hHttp, buffer, MAXSIZE - 1, &number);//utf-8
				if (number == 0)
				{
					break;
				}
				buffer[number] = '\0';
				strResponce.append(buffer);
			}
			InternetCloseHandle(hHttp);
		}
		InternetCloseHandle(hSession);
	}
	std::istringstream iss(strResponce);
	std::string templine;
	std::getline(iss, templine, '\n');
	while (std::getline(iss, templine, '\n'))
	{
		vec.push_back(templine);
	};
	return std::move(vec);
}

int _tmain(int argc, _TCHAR* argv[])
{
	auto vec = GetDataFromURL(_T("http://quotes.money.163.com/service/chddata.html?code=0603088&start=20141111&end=20170825&fields=TCLOSE;HIGH;LOW;TOPEN;LCLOSE;CHG;PCHG;TURNOVER;VOTURNOVER;VATURNOVER;TCAP;MCAP"));
	return 0;
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章