• 沙里软件

  • ShaliSoft.com [手机站]   办公桌收纳抽屉
  • 首页
  • 博文
  • 演示
  • 管理
  • asp WinHttp.WinHttpRequest对象方法属性

    网络   2015/2/26 18:14:04

    由于微软对XmlHttp对象进行了一些限制,无法通过XmlHttp对象伪造部分HTTP 头信息,但是WinHttp.WinHttpRequest.5.1是  msxml 4.0 的底层对象,XMLHTTP/ServerXMLHTTP  是在WinHttp.WinHttpRequest.5.1的基础上封装而来,所以WinHttpRequest 的用法与 XmlHttp  大致相同,但是WinHttp.WinHttpRequest.5.1却可以伪造所有http  请求header信息,所以要伪造所有的http响应头时,可以使用它,而不是封装后的XMLHTTP/ServerXMLHTTP对象

     

    1. <% 

    2. Dim WinHttp 

    3. Set WinHttp = Server.CreateObject("WinHttp.WinHttpRequest.5.1") 

    4. '设置参数 

    5. WinHttp.SetTimeouts 60000, 60000, 60000, 3000 '设置操作超时时间 

    6. 'WinHttp.SetTimeouts resolveTimeout, connectTimeout, sendTimeout, receiveTimeout 

    7. 'resolveTimeout = 10000 '解析 DNS 名字的超时时间,10000 毫秒。 

    8. 'connectTimeout = 10000 '建立 Winsock 连接的超时时间,10000 毫秒。 

    9. 'sendTimeout = 120000 '发送数据的超时时间,120000 毫秒。 

    10. 'receiveTimeout = 60000 '接收 response 的超时时间,60000 毫秒。 

    11. WinHttp.Option(4) = 13056 '忽略错误标志 

    12. WinHttp.Option(6) = False '为 True 时,当请求页面重定向跳转时自动跳转,False 不自动跳转,截取服务端返回的302状态。 

    13. WinHttp.Open "GET", "http://www.baidu.com/", False 'GET 或 POST, Url, False 同步方式;True 异步方式 

    14. '组成 HTTP 头信息 

    15. WinHttp.SetRequestHeader "Accept", "*/*" '接受数据类型 

    16. WinHttp.SetRequestHeader "Accept-Language", "zh-cn,zh" '用户系统语言 

    17. WinHttp.SetRequestHeader "User-Agent", "Mozilla/6.0" '用户浏览器信息 

    18. WinHttp.SetRequestHeader "Content-Type", "application/x-www-form-urlencoded" '编码方式 

    19. WinHttp.SetRequestHeader "Referer", "http://www.baidu.com/" '来路 

    20. WinHttp.SetRequestHeader "Connection", "Close" 'Close = 不保持连接,Keep-Alive = 保持连接(持久连接) 

    21. 'WinHttp.SetRequestHeader "Accept-Encoding", "gzip, deflate" '如果发送,会返回 gzip, deflate 压缩过的编码 

    22. 'WinHttp.SetRequestHeader "Content-Length", Len(Str) '内容长度,Post 方式用的。 

    23. WinHttp.SetRequestHeader "Cookie", "test cookie!" '设置 Cookie 

    24. '发送数据 

    25. WinHttp.Send 'Post 方式:WinHttp.Send (参数) 

    26. WinHttp.WaitForResponse '等待返回请求,XMLHTTP中也可以使用 

    27. '输出结果 

    28. Response.Write WinHttp.Status '当前 HTTP 状态 

    29. 'Response.Write WinHttp.ResponseText '文本数据 

    30. Response.BinaryWrite WinHttp.ResponseBody '二进制数据流数据 

    31. %> 



    WinHttpRequest  对象属性

    属性名称访问类型说明
    Option读/写设置或检索一个WinHTTP的选项值,option为数组,示例查看下面
     -收缩VBScript代码 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
    ResponseBody只读检索作为无符号字节数组的响应实体机构
    ResponseStream只读检索机构作为响应实体的IStream
    ResponseText只读作为文本检索响应实体机构
    Status只读从上次检索响应的HTTP状态代码
    StatusText只读获取HTTP状态的文本

    选项值option使用示例

    -收缩VBScript代码 set xhr=Server.CreateObject("WinHttp.WinHttpRequest.5.1")
    xhr.option(6)=false'不允许跳转
    set xhr=nothing

     

    WinHttpRequest  对象方法
     

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

    指定的等待时间,以秒为一个异步传送方法来完成的值,SetTimeouts。


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

    WinHttpRequest事件

    事件名称说明
    OnError当发生一个应用程序运行时错误时发生。
    OnResponseDataAvailable当响应数据可用时发生
    OnResponseFinished响应数据完成时发生。
    OnResponseStart开始收到响应数据时发生。


    阅读(5485) 分享(0)

    上一篇: FSO写文件提示"无效的过程调用或参数"
    下一篇: PHP与手机APP开发(API接口开发)

  • 精彩推荐

    ◆ 滚动悬浮固定JS特效
    ◆ 锚点位置偏移的方法
    ◆ SQL按指定ID的顺序排序显示
    ◆ asp.net在web页面中使用多线程
    ◆ 移动端定宽网页适配方案 手机站网页宽度处理方法
    ◆ 认识Asp.net 中相对路径与绝对路径
    ◆ PHP实现共享内存,非MYSQL,类似asp的application
    ◆ MySQL高效分页解决方案集(转)
    ◆ 延长SSD(固态硬盘)寿命小技巧!
    ◆ mysql的latin1编码支持中文吗?
  • 用心做事 不能唯利是图

    • 吊儿
    • 用QQ联系我17905772
  • 搜索


  • 最新文章

    • 导出Excel 格式 mso-number-format
    • 服务器iis支持tls1.2,windows server 2008 r2 中IIS启用TLS 1.2(安装SSL后用TLS 1.2)
    • MySQL配置优化
    • EditPlus 添加文件比较工具winmerge
    • 滚动悬浮固定JS特效

  • 热门文章

    • php sso单点登录实现代码
    • 中国菜刀(China chopper) 最新黑客工具
    • redis.conf中文版(基于2.4)
    • 搜索引擎名单大全
    • php图片上传类,支持加水印,生成略缩图

  • 最新图库


  • 最新评论


  • 友情链接

  • 沙里软件

  • 最近访客

    Powered by ShaliSoft.com 豫ICP备13008529号

    免责声明:本站部分内容来源于互联网,转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,不为其版权负责,也不构成任何其他建议。如果发现侵犯版权,联系QQ17905772进行删除。