注册 | 登陆
您的位置:阿里西西 > 编程技术 > ASP教程 > 详细内容

ASP采集功能WinHttp.WinHttpRequest.5.1的使用方法及属

  稿源:互联网   2018-09-10   点击:   撤稿纠错
WinHttp.WinHttpRequest.5.1是msxml4.0的底层对象,也就是说XMLHTTP/ServerXMLHTTP也是在它的基础上封装而来,WinHttpRequest的用法与XmlHttp大致相同。
本站收录这篇文章ASP采集功能WinHttp.WinHttpRequest.5.1的使用方法及属性详解,详细解说文章中相关WinHttp 采集 WinHttpRequest.5.1 技术与知识,欢迎能给大家一些在这方面的支持和帮助!下面是详细内容:

最近在尝试做一个获取远程WEB服务器响应头的功能中,了解到了WinHttp.WinHttpRequest.5.1组件

使用WinHttpRequest可以伪造HTTP头信息,伪造Referer等信息,由于微软封锁了XmlHttp对象,所以无法伪造部分HTTP头信息,但是WinHttp.WinHttpRequest.5.1对象,它居然用可以成功伪造所有http请求的header信息!

从msdn得知,WinHttp.WinHttpRequest.5.1是msxml4.0的底层对象,也就是说XMLHTTP/ServerXMLHTTP也是在它的基础上封装而来,WinHttpRequest的用法与XmlHttp大致相同。

WaitForResponse在使用异步方式发送请求时,可以用这个方法来控制请求的进程,指定的等待时间,以秒为一个异步传送方法来完成的值,SetTimeouts。

在服务端脚本中,不可以像客户端那样直接使用回调函数来控制异步请求,也没有相应的函数来使用程序休眠一定的时间,因此,为了等待请求返回,我们可以使用这个方法来等待一定时间。

代码如下:

 

  程序代码(For Alixixi.com)如下:
<%
Dim WinHttp
Set WinHttp = Server.CreateObject("WinHttp.WinHttpRequest.5.1")
'设置参数
WinHttp.SetTimeouts 60000, 60000, 60000, 3000 '设置操作超时时间
'WinHttp.SetTimeouts resolveTimeout, connectTimeout, sendTimeout, receiveTimeout
'resolveTimeout = 10000 '解析 DNS 名字的超时时间,10000 毫秒。
'connectTimeout = 10000 '建立 Winsock 连接的超时时间,10000 毫秒。
'sendTimeout = 120000 '发送数据的超时时间,120000 毫秒。
'receiveTimeout = 60000 '接收 response 的超时时间,60000 毫秒。
WinHttp.Option(4) = 13056 '忽略错误标志
WinHttp.Option(6) = False '为 True 时,当请求页面重定向跳转时自动跳转,False 不自动跳转,截取服务端返回的302状态。
WinHttp.Open "GET", "http://www.baidu.com/", False 'GET 或 POST, Url, False 同步方式;True 异步方式
'组成 HTTP 头信息
WinHttp.SetRequestHeader "Accept", "*/*" '接受数据类型
WinHttp.SetRequestHeader "Accept-Language", "zh-cn,zh" '用户系统语言
WinHttp.SetRequestHeader "User-Agent", "Mozilla/6.0" '用户浏览器信息
WinHttp.SetRequestHeader "Content-Type", "application/x-www-form-urlencoded" '编码方式
WinHttp.SetRequestHeader "Referer", "http://www.baidu.com/" '来路
WinHttp.SetRequestHeader "Connection", "Close" 'Close = 不保持连接,Keep-Alive = 保持连接(持久连接)
'WinHttp.SetRequestHeader "Accept-Encoding", "gzip, deflate" '如果发送,会返回 gzip, deflate 压缩过的编码
'WinHttp.SetRequestHeader "Content-Length", Len(Str) '内容长度,Post 方式用的。
WinHttp.SetRequestHeader "Cookie", "test cookie!" '设置 Cookie
'发送数据
WinHttp.Send 'Post 方式:WinHttp.Send (参数)
WinHttp.WaitForResponse '等待返回请求,XMLHTTP中也可以使用
'输出结果
Response.Write WinHttp.Status '当前 HTTP 状态
'Response.Write WinHttp.ResponseText '文本数据
Response.BinaryWrite WinHttp.ResponseBody '二进制数据流数据
%>

 Option()相关:

WinHttpRequestOption_UserAgentString = 0;
WinHttpRequestOption_URL = 1;
WinHttpRequestOption_URLCodePage = 2;
WinHttpRequestOption_EscapePercentInURL = 3;
WinHttpRequestOption_SslErrorIgnoreFlags = 4;
WinHttpRequestOption_SelectCertificate = 5; '13056 = 忽略错误标志
WinHttpRequestOption_EnableRedirects = 6; '为True时,当请求的页面中有跳转时,抓取跳转页面信息.False相反不抓取
WinHttpRequestOption_UrlEscapeDisable = 7;
WinHttpRequestOption_UrlEscapeDisableQuery = 8;
WinHttpRequestOption_SecureProtocols = 9;
WinHttpRequestOption_EnableTracing = 10;
WinHttpRequestOption_RevertImpersonationOverSsl = 11;
WinHttpRequestOption_EnableHttpsToHttpRedirects = 12;
WinHttpRequestOption_EnablePassportAuthentication = 13;
WinHttpRequestOption_MaxAutomaticRedirects = 14;
WinHttpRequestOption_MaxResponseHeaderSize = 15;
WinHttpRequestOption_MaxResponseDrainSize = 16;
WinHttpRequestOption_EnableHttp1_1 = 17;
 
WinHttpRequestOption_EnableCertificateRevocationCheck = 18;

方法 Description 说明

Abort 中止一个WinHTTP的 发送方法。
GetAllResponseHeaders 检索所有的HTTP响应头。
GetResponseHeader 检索HTTP响应头。
Open 打开一个HTTP连接到HTTP资源。
Send 发送一个HTTP请求到HTTP服务器。
SetAutoLogonPolicy 设置当前自动登录策略。
SetClientCertificate 选择一个客户端证书发送到一个安全的超文本传输协议(HTTPS)服务器。
SetCredentials 设置要使用的凭据与HTTP服务器,要么是原籍国或代理服务器。
SetProxy 设置代理服务器信息。
SetRequestHeader 添加,更改或删除一个HTTP请求标头。
SetTimeouts 指定以毫秒为单位,个人的时间超过了一个组件发送/接收操作。
WaitForResponse 指定的等待时间,以秒为一个异步传送方法来完成的值,SetTimeouts。

该 WinHttpRequest 对象定义以下属性。
属性 访问类型 说明

Option 读/写 设置或检索一个WinHTTP的选项值。
ResponseBody 只读 检索作为无符号字节数组的响应实体机构。
ResponseStream 只读 检索机构作为响应实体的IStream。
ResponseText 只读 作为文本检索响应实体机构。
Status 只读 从上次检索响应的HTTP状态代码。
StatusText 只读 获取HTTP状态的文本。

Events 活动

The WinHttpRequest object defines the following events.
WinHttpRequest 对象定义的下列事件。

Event 事件 Description说明

OnError Occurs when there is a run-time error in the application.
当发生一个应用程序运行时错误时发生。
OnResponseDataAvailable Occurs when data is available from the response.
当响应数据可用时发生。
OnResponseFinished Occurs when the response data is complete.
响应数据完成时发生。
OnResponseStart Occurs when the response data starts to be received.
开始收到响应数据时发生。

Remarks 备注

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,请参阅运行时间要求。

Requirements 要求

最低支持的客户端 Windows XP, Windows 2000 Professional with SP3 Windows XP
最低支持的服务器 Windows Server 2003, Windows 2000 Server with SP3

可再发行 WinHTTP 5.0 and Internet Explorer 5.01 or later on Windows XP and Windows 2000.
WinHTTP的5.0和Internet Explorer 5.01或更高版本的Windows XP和Windows 2000。
IDL HttpRequest.idl HttpRequest.idl
Library Winhttp.lib Winhttp.lib
DLL Winhttp.dll Winhttp.dll

ASP采集功能WinHttp.WinHttpRequest.5.1的使用方法及属性详解文章就讲到这里,欢迎浏览本站的其它内容,点击这里返回首页

更多关于 WinHttp 采集 WinHttpRequest.5.1 的文章
·上一篇:AspJpeg图片处理组件属性的详细中文使用说明注释
·下一篇:已经没有了
相关阅读

相关排行总榜

ASP教程

PHP教程

.NET教程

ASP采集功能WinHttp.WinHttpRequest.5.1的
AspJpeg图片处理组件属性的详细中文使用说
通过ASP生成html纯静态页面的简单示例
ASP开发中一个把GB2312转UTF-8编码的函数
推荐几个ASP开发中常用的fso操作文件图片
ASP读取操作生成excel文件的实例代码教程
使用ASP进行网站开发防范ASP木马的10条建
通过ASP调用MSSQL数据库视图和存储过程的
通过aspupload上传组件实现的ASP实现远程
ASP调用MSSQL存储过程进行分页的两种方式
PHP解决HTTP和HTTPS跨域共享session的方法
php程序判断来访客户端是手机端还是电脑P
用PHP来获取当前页面所有url参数信息的教
配置好环境后,进行php代码调试的方法总结
教您使用php代码实现上传图片或文件到服务
PHP开发中推荐十款最出色的安全开发工具库
PHP基础学习之数组介绍
浅谈JSP与ASP.PHP的各种平台应用比较
php制作一个万年历查询的实例代码教程
制作简单安全的php验证码类代码实例
ASP.NET环境配置中几种身份验证方式及权限
记录一次对ASP.NET网站漏洞的入侵和防范教
Asp.net在mvc环境下实现上传头像加剪裁功
对 ASP.NET 异步编程的一点理解与分析
ASP.NET读取与操作Session的代码案例教程
ASP.NET将大文件数据分成较小的部分进行分
讲解.Net组件程序设计之异步调用
AS脚本与Asp.net通过UrlRequest进行前端交
一组常用的.NET命名空间中文解释
asp.net解决url地址栏传递中文参数出现乱