使用WinInet类的学习体会

C#利用wininet获取网页Cookie WinInet WinInet(“Windows Internet”)API帮助程序员使用三个常见的Internet协议,这三个协议是用于World Wide Web万维网的超文本传输协议(HTTP:Hypertext Transfer Protocol)、文件传输协议(FTP:File Transfer Protocol)和另一个称为Gopher的文件传输协议。 WinInet函数的语法与常用... 阅读详情

下列代码摘录示范了如何创建一个简单的浏览器、下载一张网页、通过FTP操作一个文件和查找一个Gopher文件。它们并不是一个完整的例子,其中不包含异常处理,只是本人最近写程序的一点总结而已。

1 创建一个非常简单的浏览器
#include <afxinet.h>
//假设URL的名字已经被初始化了
CInternetSession session("My Session");
CStdioFile* pFile=NULL;
//使用一个URL,并显示一张网页
while(lpszURL=DisplayPage(...))
{
   pFile=session.OpenURL(lpszURL);
   while(pFile->Read(szBuff,1024)>0)
   {
          //读取文件...
   }
   delete pFile;
}
session.Close();

2 下载一张网页
#include <afxinet.h>
//假设服务器、端口号和URL名字已经初始化了
CInternetSession session("My Session");
CHttpConnection* pSever=NULL;
CHttpFile* pFile=NULL;
try
{
  CString strServerName;
  INTERNET_PORT nPort;

  pServer=session.GetHttpConnection(strServerName,nPort);
  pFile=pServer->OpenRequest(CHttpConnection::HTTP_VERB_GET,strObject);
  pFile->AddRequestHeaders(szHeaders);
  pFile->SendRequest();
  pFile->QueryInfoStatusCode(dwRet);

  if(dwRet==HTTP_STATUS_OK)
  {
    UINT nRead=pFile->Read(szBuff,1023);
 while(nRead>0)
 {
    //读取文件
 }
  }
  delete pFile;
  delete pServer;
}
catch(CInternetException* pEx)
{
  //捕捉WinInet的错误
}
session.Close();

3 通过FTP操作一个文件
#include <afxinet.h>
//假设服务器名和文件名已经初始化了
CInternetSession session("My FTP Session");
CFtpConnection* pConn=NULL;

pConn=session.GetFtpConnect(lpszServerName);
//取得文件
if(!pConn->GetFile(pstrRemoteFile,pstrLocalFile))
   //显示一个错误
delete pConn;
session.Close();

4重新获得一个Gopher目录
#include <afxinet.h>
//假设文件名已经初始化了
CInternetSession session("My Gopher Session");
CGopherConnection* pConn=NULL;
CGopherFileFind* pFile;

pConn=session.GetGopherConnection("gopher.yousite.com");
pFile=new CGopherFileFind(pConn);
BOOL bFound=pFile->FindFile(lpszFileToFind);
while(bFound)
{
  bFound=pFile->FindNextFile();
  //重新获得找到的文件属性
}
delete pFile;
delete pConn;
session.Close();

当在使用WinInet类库时,用户可以使用应用程序的CInternetSession对象的成员函数
OnStatusCallback来获取状态信息。如果用户继承了其自己的CInternetSession对象,
编写了超越函数OnStatusCallback并允许状态的回调,MFC将把此次国际互连网对话的
所有活动的进度信息作为参数,调用用户的OnStatusCallback函数。

WinInet编程详解 一般而言,开发Internet服务客户端程序的目的是通过Internet协议(HTTP,FTP)获取网络数据源的信息,微软提供了专门的Win32 Internet扩展接口,也就是WinInet。 1使用Win API函数开发客户端程序 一般流程是,首先通过InternetOp 阅读详情

相关推荐

WinInet相关资料

一般流程是,首先通过InternetOpen()函数创建位于根部的HINTERNET句柄,然后才能进一步建立HTTP、FTP会话,使用InternetConnect()函数创建一个指定的会话,初始化HTTP、FTP会话(根据指定的参数决定),并创建一个根句柄的分支,HttpOpenRequest()、FtpOpenFile()、FtpFindFirstFile()等函数将使用InternetConnect()所创建的句柄,建立到指定站点的连接。调用CFtpFileFind::FindFile。

堡哥的博客 787

服务器无效响应状态码12029,使用wininet发送http请求时出现12029无法与服务器建立连接...

使用winiet开发http请求的时候出现12029无法与服务器建立连接 找啦很长时间才找到的错误。错误描述:请求如下地址: http://www.xxx.com:8888返回12029错误首先想到的是12029无法与服务器建立连接,然后用其它浏览器打开试试,网页正常打开。解决方法肯定是有哪个地方设置错啦。于是想到啦是不是重定向的问题。因为我这个地址是登陆地址没有登陆的话是要重定向的。但是w...

weixin_35915828的博客 1万+

MFC WinInet类实现FTP客户端功能

MFC WinInet类实现FTP客户端功能MFC WinInet类实现FTP客户端功能MFC WinInet类实现FTP客户端功能MFC WinInet类实现FTP客户端功能MFC WinInet类实现FTP客户端功能

【错误处理】“CInternetException”: 无法作为析构函数捕获,或者复制构造函数不可访问或已删除,或同时出现这两种情况

“CInternetException”: 无法作为析构函数捕获,或者复制构造函数不可访问或已删除

weixin_41885527的博客 1126

WinInet学习资料

我自己收藏整理的一点资料,那出来和大家分享,希望对大家有用。

Wininet编程 学习资料

这是我学习Wininet编程时搜集的资料以及代码,感觉挺有用,故分享之

《MFC那点事儿》---WinInet基础

<br />WinInet全称是Win32 Internet Extension,它提供一个通用的网络协议访问接口,包括Gohper、FTP和HTTP。<br />使用WinInet开发网络应用程序的优点:<br />1)隐藏协议细节,简化编程:可不必深入了解协议。像使用WinSocket编程需要理解网络通信及协议基本原理;<br />2)熟悉编程接口:WinInet API函数和很多WinAPI函数相似;<br />3)稳定性好,不要求程序与底层直接联系:WinInet隐藏了协议的具体细节,使得程序不必直

ASCE1885 3633

使用Termux在Android设备上编译运行SpecCPU2006

SPEC2006搭配Termux,竟然还能这么玩?!

菜菜的菜园子 2960

Wininet CInternetSession类编程的一些心得 包括如何清空cookie

<br /> 废话不多直接说自己的心得了:<br /> <br />1、如何自己创建http头部:<br />先抓包自己登陆的网站封确定下封包头是什么样子的<br />然后构造<br />以下网址链接都是举例用的,实际网址及链 需要自己用抓包工具确定!<br />CString UrlHeadStr=_T("Accept: */*/r/nReferer: http://www.sina.com.com/r/nAccept-Language: zh-tw/r/nAccept-Encoding: gzip, d

killalarm的专栏 5197

S32DS3.5图形化配置实战:从零构建S32K144通信接口工程

本文详细介绍了如何使用S32DS3.5图形化配置工具从零构建S32K144通信接口工程。通过实战演示引脚配置、时钟树设置、SPI接口搭建等关键步骤,帮助开发者快速掌握NXP S32K系列开发技巧,提升嵌入式开发效率。特别针对S32DS3.5版本的新特性进行了深度解析,包括智能代码生成和调试优化方法。

weixin_26834815的博客 200

ABB机器人ModbusTCP通信实战:如何高效传输Float数据到PLC(附完整代码)

本文详细介绍了ABB机器人通过ModbusTCP协议高效传输Float数据到PLC的实战方法,包括底层逻辑解析、RAPID程序架构设计、PLC服务器配置及现场调试技巧。特别针对浮点数据传输中的字节顺序问题提供了解决方案,并附有完整代码示例,助力工程师快速实现工业自动化设备间的高精度数据交互。

weixin_30836759的博客 482

网络编程--WININET

一个Internet客户端程序的目的是通过Internet协议如:HTTP、FTP等来存取网络数据源(服务器)的信息。客户端程序可以访问服务器获得象天气预报,股票价格、重要新闻数据,甚至是与服务器交换信息。Internet客户端程序可以通过外部网络(Internet)或内部网络(一般为Intranet)访问服务器。     为了开发Internet客户端程序。MFC类库提供了专门的 Win32 I

冷秋魂的专栏 2029

NXP MCU CAN波特率(位时间)配置详解

1. 概述 本文将会详细讲解如何设置NXP MCU的CAN波特率、位时间、采样点等属性。 波特率即CAN总线传输频率,位时间是波特率的倒数,例如波特率是500K,那么位时间 = 1 / 500000 = 0.000002s = 2000ns。 我们先来看一下S32K144单片机的EB中与CAN总线波特率相关的可配置参数有哪些: ...

weixin_42967006的博客 9691

WinInet类的介绍

        目前Visual C++ 6.0支持的网络编程有三种方式:一种是ISAPI,既基于网络服务器应用程序设计接口的程序,主要用来创建FTP服务器、PROXY代理服务器、HTTP服务器、SMTP服务器、BBS服务器、网络数据库服务器等服务器程序。一种是Windows Socket2,即基于Windows套接口编程,源于UNIX的套接口编程。还有一种便是WinInet基于国

cl007的专栏 1554

即插即用系列(代码实践)| 2025 Strip R-CNN:大尺寸条形卷积——遥感目标检测新SOTA,专治细长目标(桥梁、船只)

摘要: 论文《Strip R-CNN: Large Strip Convolution for Remote Sensing Object Detection》针对遥感图像中细长目标(如桥梁、道路)检测难题,提出创新性解决方案。通过设计StripBlock模块,将传统方形卷积核替换为大尺寸条形卷积(水平1×19与垂直19×1组合),有效捕获长距离空间特征,同时减少背景噪声。结合CenterPooling增强目标中心定位,该模块可即插即用至现有网络,显著提升遥感检测任务(如DOTA数据集)的精度。代码已开源,

分享顶会顶刊论文即插即用模块 189

磁环电感参数计算

电感饱和是指当电感中的电流超过一定阈值时,电感中的磁场无法继续增加,而是达到一个饱和状态,导致电感的感应电动势减小或消失。电感通常由线圈组成,当通过线圈的电流不断增加时,线圈内部的磁场也随之增加。然而,当电流达到一定程度时,线圈的铁芯磁化达到饱和,无法进一步增加磁场强度。电感饱和的阈值取决于电感的结构、材料和尺寸等因素。通常情况下,电感的额定电流会标明其饱和电流值。一旦电感中的电流超过了饱和电流,电感将饱和并出现异常行为。当我们谈论电感饱和的时候,实际上是在谈论磁芯饱和——空心的电感永远不会饱和。

小幽余生不加糖 4030

WinInet类使用方法

使用WinInet类有许多优越之处,它提供了对Gopher、HTTP、FTP等公共Internet协议的访问方法,其中包括: 1) CInternetSession 2) CInternetConnection 3) CInternetFile 4) CHttpConnection 5) CGopherFile 6)...

a953982070的博客 230

996引擎 - 读写变量性能测试

单轮100万次读写,取3轮平均耗时(毫秒),有效读取率均为100%,数值越小性能越优。

灵台方寸山斜月三星洞 244

基于WININET的简单C++ Http类

http://www.codeproject.com/KB/IP/simplehttpclient.aspx Simple HTTP Client using WININET 简介 这个类是用于HTTP请求。它支持的HTTP GET,HTTP POST和HTTP的POST- MultiPartFormData。 类概述 撤消修改

创业的程序员 3668

ISMN数据处理

可批量下载,十分方便

m0_46268055的博客 1216

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

利用WinInet类进行TCP/IP通信

内容:  摘 要:Winsock是Windows应用程序间TCP/IP通信的标准。以此为基础的Visual C++4.2以上版本提供的API—WinInet,使Internet程序开发变得快捷而方便。本文研究探讨了如何利用WinInet类实现TCP/IP通信。  关键词:Internet编程 Winsock类 TCP/IP FTP HTTP Gopher1 基于Windows操作系统的Intern

1445

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

WinInet api 的使用

/////////////////////////////////////////////////////////////////////////////// // Windows Internet Function // // 1. InternetAttemptConnect(0); // 2. InternetOpen(); // 3. InternetConnect(); //

学习,思考,记录 1099

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

WinInet使用详解

WinInet是windows平台对socket进行一层封装,用来直接处理http/ftp/Gopher协议的一套windows API。我第一次接触这个是在一个客户那里,当时因为客户都需要使用http代理才能浏览网页,所以折腾了一天,才基本掌握。而时隔没多久又忘记的差不多了,这个流程就像正则表达式一样,常学常忘,常忘常学。而网络上流传的WinInet代码实例,不是编译不通过,就是粗制滥造。因此现

左雪菲的专栏 2万+

Delphi 使用WinInet 进行下载

WinInetDownLoad('http://下载地名','c:\本地文件名') 引用 unit xHttpGetThread; interface const MAXBLOCKSIZE = 1024; function WinInetDownLoad(Url:PChar; FileName:string):Boolean; implementation uses Windo

warrially的专栏 5520
上一篇: WinInet类的介绍
cl007
博客等级 码龄26年 0粉丝 16原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值