2024年3月20日发(作者:)

WINHTTP.

WINHTTPREQUEST.5.1

WinHttp 的属性

属性

Option

ResponseBody

ResponseStream

ResponseText

Status

StatusText

访问类型

读/写

只读

只读

只读

只读

只读

说明

设置或检索 WinHTTP 选项值。

作为一个无符号字节数组中检索响应实体正文。

检索响应实体正文作为 IStream。

检索响应实体正文作为 string。

从上一次响应检索的 HTTP 状态代码。

检索 HTTP 状态文本。

WinHttp 的事件

OnError:当应用程序运行错误时发生。

OnResponseDataAvailable:当响应可用数据时发生。

OnResponseFinished:响应数据完成时发生。

OnResponseStart:当响应数据开始接收时发生。

备注:(原文)

The WinHttpRequest object uses the IErrorInfo interface to provide error data.

该 WinHttpRequest 对象使用 IErrorInfo 接口来提供错误数据。

A description and numerical error value can be obtained with the Err object in

Microsoft Visual Basic Scripting Edition (VBScript),

and the Error object in Microsoft JScript.

The lower 16 bits of an error number correspond to the values found in Error

Messages.

Note For Windows XP and Windows 2000, see Run-Time Requirements.

注意:对于 Windows XP 和 Windows 2000,请参阅运行时间要求。

WinHttp 的方法

Abort:中止一个WinHTTP的 发送方法。

GetAllResponseHeaders : 检索所有 HTTP 响应标头。

GetResponseHeader :检索 HTTP 响应标头。

Open:打开一个 HTTP 连接到 HTTP 资源。

Send:向 HTTP 服务器发送一个 HTTP 请求。

SetAutoLogonPolicy:设置当前的自动登录策略。

SetClientCertificate:选择要发送到安全超文本传输协议 (HTTPS) 服务器的客户端证书。

SetCredentials:

设置要使用的凭据与HTTP服务器,要么是原籍国或代理服务器。

SetProxy:设置代理服务器信息。

SetRequestHeader:添加、 更改或删除 HTTP 请求标头。

SetTimeouts:以毫秒为单位,指定一个发送/接收操作的单个超时组件。

WaitForResponse:指定的等待时间,以秒为单位,为一种异步发送方法完成,使用可选的超时

值。

GetAllResponseHeaders 方法

 bstrHeader(必需):指定不区分大小写的标头名称的 string 类型的值。

Return Value:此方法返回在 bstrHeader 中命名的 HTTP 响应标头的值。

bstrMethod (必需) : 一个值类型的字符串,它指定用于 Open 方法,如"获取"或"放"的 HTTP

谓词。总是使用大写,如某些服务器忽略小写的 HTTP 谓词。

•bstrUrl (必需) : 一个值类型的字符串,其中包含的资源的名称。这必须是一个绝对 URL。

•varAsync (默认 = false) : 类型值的布尔值,指定是否在异步模式下打开。True = 在异步

模式下打开的 HTTP 连接。

Open 方法

Send 方法

 varBody (可选) : 要发送到服务器的数据。

要发送的请求是在之前调用 Open 方法中定义的。调用应用程序可以提供通过 varBody 参数到

服务器发送的数据。如果该对象的 Open 的 HTTP 方式是"GET",此方法发送的请求没有

varBody,即使它由调用应用程序提供。

如果是 POST 方式,则要跟上需要包体(a=1&b=2&c=3)做参数,书写格式 (data),

VB不加括号提示参数不正确

SetTimeouts 方法

 ResolveTimeout : 整数整数类型的值。应用时 (如 ) 的主机名称解析为 IP

地址 (如 192.168.131.199),以毫秒为单位的超时值。默认值为零,也就是说,没有超时 (无

限)。如果使用 NAME_RESOLUTION_TIMEOUT 指定的 DNS 超时时间,则还有一个请求一个

线程开销。

ConnectTimeout : 整数整数类型的值。应用建立的通讯插座与目标服务器,以毫秒为单位时的

超时值。默认值是 60000 (60 秒)。

SendTimeout : 整数整数类型的值。应用时将请求数据的单个数据包通信套接字上发送到目标

服务器,以毫秒为单位的超时值。大的请求发送到 HTTP 服务器通常被划分成多个数据包 ;发

送超时适用于单独发送每个数据包。默认值为 30000 (30 秒)。

 ReceiveTimeout : 整数整数类型的值。应用时接收的响应数据的数据包,在目标服务器上,以

毫秒为单位的超时值。大的反应,这是断成多个数据包 ; 向上接收超时值适用于每个数据包的

数据从套接字读取。默认值为 30000 (30 秒)。

所有参数都是必需的。值为 0 或-1 设置了一个超时等待无限。大于 0 的值设置超时值以毫秒为

单位。例如,30,000 将设置的超时值为 30 秒。除-1 以外的所有负值会都导致此方法失败。

WaitForResponse 方法

Timeout (可选) : 以秒为单位的超时值。默认超时时间是无限的。对无限的显式设置超时,

使用值-1。

Return Value返回值: true = A 尚未收到答复。false = A 超时错误发生。

WaitForResponse 方法将等待异步发送方法完成,使用可选的超时值,以秒为单位。

此方法会挂起执行等待异步请求的响应。在发送后,应调用此方法。调用应用程序可以指定一个

可选的超时值,以秒为单位。如果此方法超时,该请求不会中止。这种方式调用的应用程序可以

继续等待请求,如果需要,在对此方法的后续调用。

后同步的 Send 方法立即返回,不起作用,请调用此属性。

使用方法:

1. 创建对象(CreateObject)

2. 以需要的方式(POST/GET)打开(.open)

3. 设置请求头部(.setRequestHeaders)

4. 发送(.send)

5. 等待响应得到响应结果(例.responseText)。