使用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();

}

相关推荐
d111111111d43 分钟前
STM32-UART封装问题解析
笔记·stm32·单片机·嵌入式硬件·学习·算法
叶子野格1 小时前
《C语言学习:指针》12
c语言·开发语言·c++·学习·visual studio
国产化创客2 小时前
龙芯 2K0300-- 实现工业网关监控仪表盘项目
嵌入式硬件·物联网·数据可视化
项目題供诗2 小时前
STM32-OLED显示屏(六)
stm32·单片机·嵌入式硬件
Fuyo_11192 小时前
C++ 内存管理
c++·笔记
jllllyuz2 小时前
STM32F10x MQ-2烟雾传感器驱动程序
stm32·单片机·嵌入式硬件
澈2073 小时前
C++面向对象:类与对象核心解析
c++·算法
6Hzlia3 小时前
【Hot 100 刷题计划】 LeetCode 141. 环形链表 | C++ 哈希表直觉解法
c++·leetcode·链表
bubiyoushang8884 小时前
STM32F030 多路ADC采样实现
stm32·单片机·嵌入式硬件
handler014 小时前
Linux 进程探索:从 PCB 管理到 fork() 的写时拷贝
linux·c语言·c++·笔记·学习