当前位置: 首页 > article >正文

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


http://www.kler.cn/a/154561.html

相关文章:

  • WebRTC视频 04 - 视频采集类 VideoCaptureDS 中篇
  • Bugku CTF_Web——No one knows regex better than me
  • 【珠海科技学院主办,暨南大学协办 | IEEE出版 | EI检索稳定 】2024年健康大数据与智能医疗国际会议(ICHIH 2024)
  • 神经网络与Transformer详解
  • androidstudio入门到放弃配置
  • 深度学习在边缘检测中的应用及代码分析
  • 进程间通信 管道
  • 用两个队列实现栈
  • QT 中 QProgressDialog 进度条窗口 备查
  • mazing是什么软件?为什么选择iMazing
  • 【Redis】Redis的内部设计与实现
  • vue中中的动画组件使用及如何在vue中使用animate.css
  • go学习之goroutine和channel
  • 微信小程序获取定位显示在百度地图上位置出现偏差
  • vcomp140.dll是什么意思?vcomp140.dll缺失怎么修复的五个方法
  • WT2003H MP3语音芯片方案:强大、灵活且易于集成的音频解决方案
  • 给定一组经纬度如何判断某点是否在这组经纬度的范围之内(电子围栏实现代码)
  • 关于Maxscript你了解多少?
  • ChatGpt回答人工智能发展利大于弊的辩证论述
  • 同步加载、异步加载、延迟加载、预加载的区别
  • Java数据结构之《希尔排序》题目
  • 代码随想录算法训练营第39天| 62.不同路径 63. 不同路径 II
  • 吉他初学者学习网站搭建系列(4)——如何查询和弦图
  • NacosSync 用户手册
  • 苍穹外卖——删除购物车信息
  • Java流Stream使用详解(下)