|
楼主 |
发表于 2012-7-21 18:26:43
|
显示全部楼层
本帖最后由 飞龙 于 2012-7-21 18:33 编辑
附录1:svxml类
by 飞龙,部分代码来自mars访问网页模块- .版本 2
- .支持库 iconv
- .程序集 SvXml, , 公开
- .程序集变量 svxml, 对象
- .程序集变量 编码, 文本型
- .程序集变量 Cookie, 文本型
- .程序集变量 Referer, 文本型
- .程序集变量 Accept, 文本型
- .程序集变量 Accept_Language, 文本型
- .程序集变量 User_Agent, 文本型
- .程序集变量 Connection, 文本型
- .程序集变量 Content_Type, 文本型
- .程序集变量 Cache_Control, 文本型
- .子程序 _初始化, , , 当基于本类的对象被创建后,此方法会被自动调用
- 加载COM (0)
- .如果真 (svxml.创建 (“MSXML2.ServerXMLHTTP.6.0”, ) = 假)
- svxml.创建 (“MSXML2.ServerXMLHTTP.5.0”, )
- .如果真结束
- Accept = “*/*”
- Accept_Language = “zh-cn”
- User_Agent = “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)”
- Connection = “Keep-Alive”
- Content_Type = “application/x-www-form-urlencoded”
- Cache_Control = “no-cache”
- 编码 = #编码_GBK
- .子程序 _销毁, , , 当基于本类的对象被销毁前,此方法会被自动调用
- svxml.清除 ()
- 卸载COM ()
- .子程序 中止, , 公开, 中止正在进行的异步操作
- svxml.方法 (“Abort”, )
- .子程序 重定义编码, , 公开
- .参数 新编码, 文本型
- 编码 = 新编码
- .子程序 取得对象, 对象, 公开
- 返回 (svxml)
- .子程序 访问网页, 文本型, 公开
- .参数 方法, 文本型, 可空, 默认GET
- .参数 完整网址, 文本型
- .参数 数据, 文本型, 可空, POST专用
- .参数 代理, 文本型, 可空
- .参数 超时, 整数型, 可空, 默认8000
- .参数 响应头, 文本型, 参考 可空
- .局部变量 data, 字节集
- .如果真 (是否为空 (超时))
- 超时 = 8000
- .如果真结束
- .如果真 (是否为空 (方法))
- 方法 = “GET”
- .如果真结束
- .如果 (是否为空 (代理))
- svxml.方法 (“SetProxy”, 1, “”)
- .否则
- svxml.方法 (“SetProxy”, 2, 代理)
- .如果结束
- svxml.方法 (“SetTimeouts”, 超时, 超时, 超时, 超时)
- svxml.方法 (“open”, 方法, 完整网址, 真)
- svxml.方法 (“SetRequestHeader”, “Accept”, Accept)
- svxml.方法 (“SetRequestHeader”, “Accept-language”, Accept_Language)
- svxml.方法 (“SetRequestHeader”, “User-Agent”, User_Agent)
- svxml.方法 (“SetRequestHeader”, “Content-Type”, Content_Type)
- svxml.方法 (“SetRequestHeader”, “Connection”, Connection)
- svxml.方法 (“SetRequestHeader”, “Cache-Control”, Cache_Control)
- .如果真 (Cookie ≠ “”)
- svxml.方法 (“SetRequestHeader”, “Cookie”, Cookie)
- .如果真结束
- .如果真 (Referer ≠ “”)
- svxml.方法 (“SetRequestHeader”, “Referer”, Referer)
- .如果真结束
- svxml.方法 (“send”, 数据)
- svxml.逻辑方法 (“WaitForResponse”, -1)
- .如果真 (取反 (是否为空 (响应头)))
- 响应头 = svxml.文本方法 (“GetAllResponseHeaders”, )
- .如果真结束
- ' 直接取ResponseText会自动转码
- data = svxml.读属性 (“responseBody”, ).取字节集 ()
- .如果 (编码 = #编码_GBK)
- 返回 (到文本 (data))
- .否则
- data = 编码转换 (data, 编码, #编码_GBK, )
- 返回 (到文本 (data))
- .如果结束
- .子程序 置Cookie, , 公开
- .参数 New_Cookie, 文本型
- Cookie = New_Cookie
- .子程序 置Referer, , 公开
- .参数 New_Referer, 文本型
- Referer = New_Referer
- .子程序 重定义Accept, , 公开
- .参数 New_Accept, 文本型
- Accept = New_Accept
- .子程序 重定义Accept_Language, , 公开
- .参数 New_Accept_Language, 文本型
- Accept_Language = New_Accept_Language
- .子程序 重定义User_Agent, , 公开
- .参数 New_User_Agent, 文本型
- User_Agent = New_User_Agent
- .子程序 重定义Connection, , 公开
- .参数 New_Connection, 文本型
- Connection = New_Connection
- .子程序 重定义Content_Type, , 公开
- .参数 New_Content_Type, 文本型
- Content_Type = New_Content_Type
- .子程序 重定义Cache_Control, , 公开
- .参数 New_Cache_Control, 文本型
- Cache_Control = New_Cache_Control
- .子程序 访问网页文件, 字节集, 公开
- .参数 方法, 文本型, 可空, 默认GET
- .参数 完整网址, 文本型
- .参数 数据, 文本型, 可空, POST专用
- .参数 代理, 文本型, 可空
- .参数 超时, 整数型, 可空, 默认8000
- .参数 响应头, 文本型, 参考 可空
- .局部变量 data, 字节集
- .如果真 (是否为空 (超时))
- 超时 = 8000
- .如果真结束
- .如果真 (是否为空 (方法))
- 方法 = “GET”
- .如果真结束
- .如果 (是否为空 (代理))
- svxml.方法 (“SetProxy”, 1, “”)
- .否则
- svxml.方法 (“SetProxy”, 2, 代理)
- .如果结束
- svxml.方法 (“SetTimeouts”, 超时, 超时, 超时, 超时)
- svxml.方法 (“open”, 方法, 完整网址, 真)
- svxml.方法 (“SetRequestHeader”, “Accept”, Accept)
- svxml.方法 (“SetRequestHeader”, “Accept-language”, Accept_Language)
- svxml.方法 (“SetRequestHeader”, “User-Agent”, User_Agent)
- svxml.方法 (“SetRequestHeader”, “Content-Type”, Content_Type)
- svxml.方法 (“SetRequestHeader”, “Connection”, Connection)
- svxml.方法 (“SetRequestHeader”, “Cache-Control”, Cache_Control)
- .如果真 (Cookie ≠ “”)
- svxml.方法 (“SetRequestHeader”, “Cookie”, Cookie)
- .如果真结束
- .如果真 (Referer ≠ “”)
- svxml.方法 (“SetRequestHeader”, “Referer”, Referer)
- .如果真结束
- svxml.方法 (“send”, 数据)
- svxml.逻辑方法 (“WaitForResponse”, -1)
- .如果真 (取反 (是否为空 (响应头)))
- 响应头 = svxml.文本方法 (“GetAllResponseHeaders”, )
- .如果真结束
- ' 直接取ResponseText会自动转码
- data = svxml.读属性 (“responseBody”, ).取字节集 ()
- 返回 (data)
复制代码 |
|