2024年3月19日发(作者:)
用VBA抓取网页数据有不少方法,其中一种便是引用XMLHTTP对象。在这里尝试
为大家介绍一下这个对象的一些基本属性和方法还有一些应用示例。
XMLHTTP对象参考
IXMLHTTPRequest
提供客户端同http服务器通讯的协议
示例
以下示例建立一个XMLHTTP对象,并向http服务器发出指定地址的请求,请求
返回XML的源文件(XML document),如果服务器不能连通,则返回错误。
Dim HttpReq As Object
Set HttpReq = CreateObject("P.3.0")
"GET", " ", False
MsgBox seText
说明:第一,二行可以用以下语句代替,但前提是需要在对象里先引用Microsoft
XML,v2.6-6.0(, , , , )
其中之一。
Dim HttpReq As New P30
备注
客户端可以通过XmlHttp对象(P.3.0)向http服务器发送请求并
使用微软XML文档对象模型Microsoft® XML Document Object Model (DOM)处
理回应。
该对完全象集成了Microsoft XML Core Services (MSXML),支持直接发送请求,
并用MSXML DOM分析响应。由于集成了对Extensible Stylesheet Language (XSL)
的支持,XMLHTT对象组件提供一个很简易的途径向HTTP服务器发送一个结构化
查询,并支持用多种形式有效显示结果。
通常的使用顺序是,先用open 方法,再用send方法发送请求,然后用
setRequestHeader方法设置自定义头信息,最后查看四种以不同形式返回的响
应结果。
XMLHTTP对象支持Microsoft Internet Explorer (IE) 5.0 及以上版本,只要
你的网页浏览器指定一种语言进行浏览。更详细的信息请查看Explorer的帮助
文件关于"To specify another language for Web page content" 的部份。
版本
MSXML 2.0及以上版本
先决条件
如果不用CreateObject方法创建对象,则需要先引用以下任意一个版本的文件:
, (MSXML 3.0)
, (MSXML 4.0)
, (MSXML 5.0 for Microsoft Office Applications)
, (MSXML 6.0)
Header and IDL files: msxml2.h,
XMLHttp成员
属性
onreadystatechange
*
readyState
responseBody
responseStream
responseText
responseXML
status
statusText
指定当readyState属性改变时的事件处理句柄。只写.
每个状态改变时都
会触发这个事件处理器
返回当前请求的状态,只读.
将回应信息正文以unsigned byte数组形式返回.只读
以Ado Stream对象的形式返回响应信息。只读
将响应信息作为字符串返回.只读
将响应信息格式化为Xml Document对象并返回,只读
返回当前请求的http状态码.只读
返回当前请求的响应行状态,只读
* 表示此属性是W3C文档对象模型的扩展.在VBA中不能直接调用
方法
取消当前请求
abort
获取响应的所有http头
getAllResponseHeaders
从响应信息中获取指定的http头
getResponseHeader
open
创建一个新的http请求,并指定此请求的方法、URL以及验证信息(用户
名/密码)


发布评论