C++的post请求(使用的是CInternetSession)

今天项目需要抓取官网软件的版本号,并升级提示,需要用到MFC的post模块

从网上看到的例子,并做了一些修改

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

#include "stdafx.h"


//int _tmain(int argc, _TCHAR* argv[])
//{
//	return 0;
//}


#include  
#include  
#include  //定义了MFC CInternetSession类等   
bool PostHttpPage(const CString& hostName, const CString& pathName, const std::string& postData) 
{ 
	using namespace std;   
	CInternetSession session(_T("your app agent name"));   
	try 
	{ 
		INTERNET_PORT nPort = 80; 
		DWORD dwRet = 0;   
		CHttpConnection* pServer = session.GetHttpConnection(hostName, nPort); 
		CHttpFile* pFile = pServer->OpenRequest(CHttpConnection::HTTP_VERB_POST, pathName);   
		CString strHeaders = _T("Content-Type: application/x-www-form-urlencoded"); // 请求头   
		//开始发送请求   
		pFile->SendRequest(strHeaders,(LPVOID)postData.c_str(),postData.size()); 
		pFile->QueryInfoStatusCode(dwRet);     
		if (dwRet == HTTP_STATUS_OK) 
		{ 
			CString result, newline;   
			while(pFile->ReadString(newline)) 
			{
				//循环读取每行内容 
				result += newline+"\r\n"; 
			}   
			std::cout<GetErrorMessage(pszError, 200);   
		std::cout<


这只是简单的一个例子,后续项目完毕再做更新(涉及到关键字的查询,版本的比较)

你可能感兴趣的:(网页爬虫)