使用wininet下载一个网页

WinInet基础知识 | Microsoft Learn

//this code excerpt also demonstrates try/catch exception handling

#include <afxinet.h>

void DisplayHttpPage(LPCTSTR pszServerName, LPCTSTR pszFileName)

{

CInternetSession session(_T("My Session")); //用于建立一个网络连接

CHttpConnection* pServer = NULL; //用于管理上面建立的网络连接

CHttpFile* pFile = NULL; //用于读取或者储存文件包括本地

try

{

CString strServerName;

INTERNET_PORT nPort = 80;

DWORD dwRet = 0;

pServer = session.GetHttpConnection(pszServerName, nPort); //这个就是常规用法即:

//CHttpConnectionObj=session.GetHttpConnection();

//后面这2个函数一起作用用于打开服务器上面的文件或者本地的文件

pFile = pServer->OpenRequest(CHttpConnection::HTTP_VERB_GET, pszFileName);

pFile->SendRequest();

pFile->QueryInfoStatusCode(dwRet);

if (dwRet == HTTP_STATUS_OK)

{

CHAR szBuff[1024];

while (pFile->Read(szBuff, 1024) > 0)

{

printf_s("%1023s", szBuff);

}

}

delete pFile;

delete pServer;

}

catch (CInternetException* pEx)

{

//catch errors from WinInet

TCHAR pszError[64];

pEx->GetErrorMessage(pszError, 64);

_tprintf_s(_T("%63s"), pszError);

}

session.Close();

}

相关推荐
m0_569881471 分钟前
C++与自动驾驶系统
开发语言·c++·算法
aini_lovee14 分钟前
SIM7600模块STM32控制程序
stm32·单片机·嵌入式硬件
2401_8331977321 分钟前
C++代码切片分析
开发语言·c++·算法
是翔仔呐21 分钟前
第13章 超声波测距传感器驱动:HC-SR04底层原理与C语言实现
c语言·开发语言·单片机·嵌入式硬件·gitee
m0_6214385222 分钟前
实时音频处理C++实现
开发语言·c++·算法
weixin_4219226925 分钟前
模板代码性能测试
开发语言·c++·算法
小飞菜涅36 分钟前
fast-lio2复现
嵌入式硬件·学习·ubuntu
Liu6288836 分钟前
C++中的模板方法模式
开发语言·c++·算法
qq_3349031543 分钟前
高性能网络协议栈
开发语言·c++·算法
光电笑映1 小时前
STL 源码解剖系列:map/set 的底层复用与红黑树封装
c语言·数据结构·c++·算法