InternetOpen/InternetConnect/函数

本文详细介绍了WinINet函数库中的三个关键函数:InternetOpen、InternetConnect和HttpOpenRequest的功能及参数。通过这些函数,开发者可以实现网络请求、连接管理和HTTP请求的创建等功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转自http://hi.baidu.com/alalmn/blog/item/17229d99ebe18e046e068c90.html

InternetOpen 函数

参数说明


  1、sAgent

 

  指定调用 WinINet 函数的应用程序或入口。该入口用作HTTP协议中用户代理项。一般为“Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)”至于为什么,不知道。

 

  2、lAccessType

 

  访问要求类型,该参数可为下列值之一,基本就是选择代理或者不选择代理。数据类型为下面4种。

 

  INTERNET_OPEN_TYPE_DIRECT 解析所有本地主机;

 

  INTERNET_OPEN_TYPE_PRECONFIG 返回注册表中代理或直接的配置;

 

  INTERNET_OPEN_TYPE_PRECONFIG_WITH_NO_AUTOPROXY 返回注册表中代理或直接的配置,并防止对Microsoft Jscript 或 INS文件的使用;

 

  INTERNET_OPEN_TYPE_PROXY 为代理传递请求,除非代理提供了旁路列表且解析的名字可以绕过代理;此时,函数使用INTERNET_OPEN_TYPE_DIRECT。

 

  3、sProxyName

 

  指定了当lAccessType类型为INTERNET_OPEN_TYPE_PROXY时,代理服务器的名字。

 

  不要使用一个空的字符串,因为,该函数将使用它作为代理的名字。WinINet函数仅能识别OERN类型的代理和TIS网关。如果有安装IE,这些函数也同样支持SOCKS代理。FTP请求可由CERN类型代理或转换为HTTP请求,或使用InternetOpenUrl函数实现。

 

  如果lAccessType类型未被设置为INTERNET_OPEN_TYPE_PROXY,该参数将被忽略且为NULL。

 

  sProxyBypass

 

  指向一个字符串,它指定一个可选的主机名列表或IP地址,列表可包括未知元素。

 

  lFlags

 

  该参数可为下列值的任意组合:

 

  INTERNET_FLAG_ASYNC 仅能用于作用在该函数返回的句柄的子句柄上的异步请求。

 

  INTERNET_FLAG_FROM_CACHE 不做网络请求。所有的实体都由缓存返回。如果请求条目不在缓存中,一个适当的错误将返回。

 

  INTERNET_FLAG_OFFLINE 与 INTERNET_FLAG_FROM_CACHE 一样。

 

  

返回值


  成功:返回一个有效的句柄,该句柄将由应用程序传递给接下来的WinINet函数。

 

  失败:返回NULL。

 

  

备注


  该函数是第一个由应用程序调用的 WinINet 函数。它告诉 Internet DLL 初始化内部数据结构并准备接收应用程序之后的其他调用。当应用程序结束使用 Internet 函数时,应调用 InternetCloseHandle 函数来释放与之相关的资源。

 

  应用程序可以对该函数进行任意次数的调用,不过在一般情况下一次调用就已经足够了。如果要调用多次该函数,应用程序则有必要定义独立的函数实例的行为,诸如不同的代理服务器等。

 

 

InternetConnect 函数

所处动态链接库的文件名:WinINet.dll
返回值类型:整数型,返回的是Internet的链接句柄
参数<1>的名称为“hInternet”,类型为“整数型”。就是Internetopen的句柄
参数<2>的名称为“lpszServerName”,类型为“文本型”。域名
参数<3>的名称为“nServerPort”,类型为“整数型”。服务器端口
参数<4>的名称为“lpszUserName”,类型为“文本型”。用户名普通访问网页时都为空
参数<5>的名称为“lpszPassword”,类型为“文本型”。密码普通访问网页时都为空
参数<6>的名称为“dwService”,类型为“整数型”。INTERNET_SERVICE_HTTP
参数<7>的名称为“dwFlags”,类型为“整数型”。0
参数<8>的名称为“dwContext”,类型为“整数型”。0

返回一个句柄。如果返回句柄=0。要释放Internetopen这个句柄。

 

 

HttpOpenRequest 函数

所处动态链接库的文件名:WinINet.dll
 返回创建请求的句柄。
 参数<1>的名称为“hConnect”,类型为“整数型”。就是Internet的连接句柄
 参数<2>的名称为“lpszVerb”,类型为“文本型”。访问方式。在网页里只有get和post两种方法
 参数<3>的名称为“lpszObjectName”,类型为“文本型”。页面的地址
 参数<4>的名称为“lpszVersion”,类型为“文本型”。协议的版本“HTTP/1.1”现在通用的是这样。貌似听说过2.0,但是不懂是啥意思。
 参数<5>的名称为“lpszReferer”,类型为“文本型”。引用页,抓包得到的refer
 参数<6>的名称为“lplpszAcceptTypes”,类型为“文本型”。
 参数<7>的名称为“dwFlags”,类型为“整数型”。2147483648
 参数<8>的名称为“dwContext”,类型为“整数型”。0

如果创建失败。需要释放Internetopen句柄和Internetconnect句柄

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值