winlnet的几个函数
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
InternetOpen 函数InternetConnect 函数HttpOpenRequest 函数
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句柄。